Aktivera / inaktivera Joomla Cache för att förbättra prestanda [Hur]

joomla cache

Kraften hos ett CMS som Joomla är att det drivs av en databas, vilket gör hela webbplatsen och innehållet dynamiskt. Men när det gäller prestanda är denna databasinfrastruktur Achilles Heel. Att hämta innehållet från databasen vid varje träff är en prestationsflaskhals. Men det finns en utmärkt mellanväg med Joomla-cache.

I den här artikeln kommer vi att tillhandahålla den ultimata guiden för att använda flera former av Joomla-cache för att ge din webbplats en omedelbar och utmärkt prestationsökning.

Vad är en cache?

Enligt wikipedia:

En cache är en hårdvaru- eller programvarukomponent som lagrar data så att framtida förfrågningar om dessa data kan serveras snabbare. data lagrad i en cache kan vara resultatet av en tidigare beräkning eller en kopia av data som lagrats någon annanstans. A cache-hit uppstår när de begärda uppgifterna kan hittas i en cache, medan a cachemiss uppstår när det inte kan. Cache-hits serveras genom att läsa data från cachen, vilket är snabbare än att beräkna ett resultat eller läsa från ett långsammare datalager; alltså, ju fler förfrågningar som kan serveras från cachen, desto snabbare utför systemet.

Men vad betyder detta när det gäller Joomla?

När en besökare besöker din webbplats kör Joomla vanligtvis en serie frågor i databasen för att hämta all information, som menyer, innehåll, moduler och annat dynamiskt innehåll och återge den i farten.

När mängden data i din databas växer, eller om din webbplats får fler och fler besökare, börjar prestandan för den totala installationen försämras. Även med få användare på delad hosting kan prestandan vara långsam, oavsett om din webbplats får många besökare eller inte.

När Joomla-cachen används, i stället för att träffa MySQL-databasen med samma frågor om och om igen, lagrar din första träff data i en uppsättning lokala filer (i Joomla-cachekatalogen). Efterföljande träffar hämtar innehållet från dessa filer istället för från databasen.

Detta beror på att läsa data från en lokal fil är många gånger snabbare än att läsa den från en databas.

Detta innebär att hela webbplatsen laddas nästan direkt och kommer att fungera mycket bättre. Din webbplats kommer att kännas snabbare och kunna stödja fler samtidiga användare.

Så här ser hela konceptet ut i en bild:

cache-arbetsflöde

Observera att detta skiljer sig från webbläsarcaching - webbläsarcaching är något som rekommenderas av webbservern (men görs av den lokala webbläsaren). Caching på serversidan är å andra sidan faktisk cachning av resurser och HTML som skapats på webbservern.

Läs den här artikeln om du vill läsa mer om hur du använder webbläsarcaching här.

Naturligtvis är det ENDA sättet du verkligen kan förbättra prestanda om du byter till en snabbare webbserver. Ta en titt på vårt VPS för InMotion granska här.

Hur man aktiverar Cache i Joomla

Caching är en funktion som implementeras i Joomla-kärnan. Därför är det mycket enkelt att aktivera Joomla-cache.

Från Global konfiguration, Klicka på Systemet Tab, och på höger sida finns det Cache-inställningar sektion.

Klicka på rullgardinsmenyn och välj PÅ - Konservativ cachning or PÅ - Progressiv cachning i Cache-inställningarna och lägg en rimlig mängd på några minuter. 60 minuter bör vara det minsta beloppet för de flesta webbplatser.

Aktivera joomla-cache

Konservativ cachning låter dig ange att specifika moduler inte är cachade (i själva modulernas inställning).

Progressiv cachning åsidosätter denna inställning och cachar alltid alla moduler. Vi brukar använda konservativ cachning så att vi behåller förmågan att besluta att inte cacha en specifik modul.

Generellt rekommenderar vi att den här tiden är längre, vanligtvis 240 minuter (4 timmar) eller till och med mer. Du kan alltid spola (eller återställa) cachen om du vill uppdatera den.

När du trycker på Apply kommer Joomla-caching för moduler och komponenter att aktiveras. i alla fall den här inställningen räcker inte, vi har fortfarande ett steg kvar! Vi vill fortfarande aktivera sidcaching.

För att aktivera Joomla-sidcaching måste du gå till Tillägg> Plugins, sök efter Cache och klicka på System - Sidcache. Du måste se till att detta plugin är aktiverat. Du kan också välja att ställa in webbläsarcaching genom att aktivera Använd webbläsarcaching omkopplare.

Du kan också välja att utesluta specifika menyalternativ från cachning, till exempel, nedan är undantaget menyn Kontakta oss.

aktivera joomla-systemets cache-plugin

Om det finns sidor som du vill utesluta från cachning kan du gå till fliken Avancerat och ange varje webbadress som du vill utesluta från cachning. Du måste ange varje webbadress som du vill utesluta från cachning på en separat rad.

Regeluttryck stöds också, till exempel om \ - [az] + utesluter alla webbadresser som har "om-", såsom "om-oss", "om-mig", "om-joomla" etc medan / komponent / användare / utesluter alla webbadresser som har / komponent / användare /.

När du har aktiverat och sparat bör du se en mycket förbättrad laddningstid på webbsidan.

Om du använder ett sidhastighetstestverktyg som https://webpagetest.org/ du borde se en stark skillnad, särskilt om du också har aktiverat webbläsarcaching.

Du bör särskilt märka en markant skillnad i Time to First Byte:

collectiveray webbsidans prestandatest

 

Om din Joomla-värd stöder det, till exempel värd för CollectiveRay.com - Du kanske också vill aktivera Memcache för att göra din Joomla-webbplatsen ännu snabbare!

Hur man rensar eller spolar Joomla-cachen

När du har aktiverat Joomla-cacheminnet uppdateras inte innehållet på framsidan av din webbplats förrän cachetiden löper ut enligt dina inställningar. 

Så vad gör du om du vill återställa cachen? Detta är ett ganska enkelt förfarande. Gå helt enkelt till System> Rensa cacheoch klicka på Ta bort alla. Detta kommer att spola hela Joomla-cachen och innehållet kommer nu att uppdateras med det nya innehållet.

Du kan bara spola bara specifika delar av cachen genom att markera lämplig kryssruta och klicka på Ta bort.

Rensa Joomla-cache

Alternativt Joomla Cache Plugin

Ett problem som vi hittar med den inbyggda Joomla-cachen är att du inte kan återställa en enda sida. För webbplatser som har hundratals eller till och med tusentals sidor börjar återställning av allt cache varje gång du gör en liten ändring att bli en flaskhals, särskilt om du har mycket trafik.

I det här fallet rekommenderar vi att du väljer ett alternativt Joomla-cacheplugin som låter dig återställa sidcache på en URL eller sidnivå.

Vårt favoritalternativ för Joomla-cache är JotCache. Förutom avancerade caching-inställningar kan du också värma upp cacheminnet (dvs. genomsöka alla sidor så att de placeras i cacheminnet innan en användare träffar dem, rensa bara cacheminnet på en enda sida och uteslut specifika webbadresser eller hela komponenter från cachning. Du kanske till exempel vill utesluta din Virtuemart-komponent från cachning eller din användarmodul / komponent.

Kolla in de avancerade inställningarna här:

jotcache exkluderar webbadress

Och här är skärmen som låter dig återställa eller rensa cacheminnet på en enda sida:

vy för jotcache-komponenthantering

Kolla in JotCache

Hur du aktiverar Joomla Memcached

En av de fixeringar som vi har haft under den senaste tiden är en fixering som gör att vår webbplats laddas vansinnigt snabbt - och det var då vi först hörde talas om Joomla Memcache (d).

Om detta stöds av serverinfrastrukturen vill vi aktivera detta. Till exempel några av våra webbplatser som finns på SiteGround, har detta aktiverat eftersom det ger en fin hastighetsökning. För övrigt gillar vi servern som är inställd på SiteGround. Som standard flyttar du din webbplats från en billig delad värdtjänst till SiteGround kommer att se laddningsplatsen minskas med minst 2 sekunder (utan andra ändringar).

Det betyder att de ställer upp sina servrar väldigt snyggt. Men det finns mer att göra din webbplats snabb. Det är här Joomla Memcached spelar in.

Förutom standardinställningen, SiteGround erbjuder tre nivåer av cache för att göra din webbplats snabbare

  1. Static Cache - cachar ditt statiska innehåll (liknande det som en CDN skulle göra)
  2. Dynamic Cache - Den skapar kopior av din webbplats dynamiska innehåll och lagrar dem i serverns RAM. Detta kräver ett eget anpassat plugin för att fungera bra med din webbplats och den server den är värd för
  3. Joomla Memcached-tekniken påskyndar databassamtal, API-samtal och sidåtergivning genom att lagra data och objekt i minnet för att minska antalet gånger som en databas frågas. SiteGround är det enda företaget som tillämpar memcached-algoritmen på en delad servermiljö.

 

Det fina är att Joomla stöder memcache som standard, men eftersom detta kräver lite justering kommer du inte att hitta det under de normala cache-inställningarna i Global Configuration.

Som du kan se nedan är Joomla 3 memcached-inställningarna dolda (du har inget memcached-alternativ nedan) och måste aktiveras genom att göra en liten tweak i filen configuration.php.

 Standardinställningar för Joomla Cache

 

För att aktivera Memcache måste du redigera din Configuration.php och redigera följande två variabler:

public $ caching = '0';
public $ cache_handler = 'fil';

till:

public $ caching = '2';
public $ cache_handler = 'memcache';
public $ memcache_server_host = 'localhost';
offentliga $ memcache_server_port = 'xxxxxx'

 där xxxxxx är en port som anges av din värdserver. Verifiera informationen med din värdserver.

Joomla Memcache-inställningar

Joomla memcache-inställningar

  

När detta är gjort är din Joomla nu memcachad och du borde se en annan förbättring av laddningstiden för din webbplats. Detta är särskilt användbart för hektiska webbplatser. Se till att du kontrollerar om din webbplats stöder memcached - om de inte gör det bör du ge SiteGround en blick ;)

Det finns många andra artiklar om prestanda på den här webbplatsen, en av de mer populära är hur man åtgärdar det fel som heter, utnyttja webbläsarens cachning - vi har en fullständig förklaring om CollectiveRay.

 

Låt oss hjälpa dig att hantera din Joomla bättre

joomla

Gratis e-knapp för Joomla-tips

Slå på Joomla-cachning för en snabbare joomla-webbplats

Hur man aktiverar PHP OpCache för Joomla

Ovanstående punkter borde redan ha tagit din webbplats till en ganska förbättrad laddnings- och körtid. Men det finns fortfarande en sak som håller tillbaka laddningstiden.

Detta är vanligtvis den tid det tar att köra själva PHP-koden. Se, PHP är ett programmeringsspråk som körs rad för rad. Servern översätter vanligtvis PHP-koden till maskin-körbara instruktioner och kör sedan dem.

Men när det gäller att utföra instruktionerna igen kommer de att översättas igen. Så varje gång samma kod körs måste den översättas igen.

Detta är en prestanda flaskhals som kan lösas genom något som kallas OpCode caching eller OpCaching. När du använder OpCode-caching skapas en ny typ av cache som lagrar den tidigare översatta maskinkoden så att den maskin-körbara koden redan är tillgänglig när raden behöver köras igen.

Nedan kan du se ett diagram över hur detta fungerar i verkligheten:

PHP-opodcaching

OpCode-cachning kräver stöd från din värdserver. Om din webbplats körs på CPanel och WHM måste du få root-åtkomst till WHM och aktivera PHP-FPM eller ett annat OpCode-cachepaket. 

Detta skiljer sig också mellan PHP 7.2 och PHP 7.3 - det är bäst att fråga ditt webbhotell om detta är möjligt och hur man gör det. Vi använder en InMotion VPS, så vi har full kontroll över tjänsten och vår nuvarande installation använder PHP-FPM.

Om du har root-åtkomst till WHM, gå till PHP MultiPHP Manager och installera ett paket med PHP-FPM.

När du väl har aktiverat detta kan du se följande information i PHP-informationen i Joomla. Du hittar det här under System> Systeminformation> PHP-information

Du kan se Cache-träffarna, detta är en indikation på att PHP hämtar OpCodes från cachen och inte återskapar dem från grunden varje gång.

zend opcode caching joomla

Alternativ cachning - LiteSpeed ​​Server

Återigen, om du har en VPS på plats, kan du ha mycket mer kontroll och pressa ut bättre prestanda från din server. 

En av de avancerade teknikerna vi har gjort för att göra vår webbplats vansinnigt snabbare är att använda LiteSpeed-servern istället för Apache eller NGINX. LiteSpeed ​​är en företagswebbserver som är en drop-in-ersättning för Apache.

Det betyder att du kan behålla all konfiguration för Apache, men få en mycket snabbare exekveringstid. 

LiteSpeed ​​har både OpCache och Page caching inbyggd som en specifik Joomla-komponent. Den levereras med sin egen avancerade cachingkomponent som låter dig spola endast enstaka sidor, så att om du uppdaterar en sida behöver du inte ogiltigförklara hela cacheminnet.

LiteSpeed ​​Joomla Cache-alternativ

Det finns många avancerade cachealternativ som du kan använda, vi har använt den här servern för att få en otrolig laddningshastighet på webbplatsen. LiteSpeed-servern kostar $ 10 / månad, men vi tror att detta är en utmärkt investering.

Kolla in LiteSpeed ​​Server nu

Anmärkningar:

När du aktiverar Joomla -cachen kan du märka att dina "träffantal" inte längre ökar för varje träff. Eftersom du lagrar en kopia av innehållet under en längre tid, kommer Träffarna bara att öka varje gång cachen går ut. Även om detta kan låta som en nackdel, anser vi att du helt bör ignorera träffräkningarless om du aktiverar Joomla -cacheminnet eller inte. Antalet träffar är skeva och felaktiga av olika skäl

1. De blåses upp av dina egna hits

2. De blåses upp av robotar, sökrobotar och andra "overkliga" eller "spöke" besökare, det här är inte faktiska besökare på dina webbplatser. De är bara manus som gör sina robotuppgifter. Att tänka på dessa som faktiska personer som läser dina inlägg leder till ett orealistiskt scenario

3. Tjänster som Google Analytics är mycket mer exakta för att hantera skript och skapa en detaljerad analys och profil för dina webbplatsbesökare. Det kommer att göra dig mycket mer bra om du använder ett skript som Google Analytics för detta. Du kan använda vår Joomla Google Analytics-plugin att göra detta.

Som du kan se på hela vår webbplats har vi inaktiverat de flesta platser där Joomla -träffar visas, eftersom vi tror att dessa är användbaraless, bokstavligen slöseri med resurser. Om du vill veta vem som träffar din webbplats använder du Google Analytics. Om du vill imponera på dina besökare med antalet sidvisningar du har, lägg till några sociala knappar. De är mycket mer benägna att ta med mycket trafik, och naturligtvis är de faktiskt korrekta.

Joomla 1.5

Att aktivera Joomla Cache är också enkelt. Från Global konfiguration, Klicka på Systemet Tab, och på höger sida finns Cache-inställningar sektion. Klicka på Ja på Cache-inställningar och lägg en rimlig mängd på några minuter (60 minuter borde vara ganska bra för de flesta webbplatser). När du trycker på Apply kommer Caching att aktiveras.

Joomla 1.0 

Standard Joomla-cache är aktiverad från Site> Global Configuration> System> Cache Settings (eller Site> Global Configuration> Cache tab for Joomla 1.0) och markera den som aktiverad.

Även om det finns komponenter som är skrivna för cachning kommer caching från din låda att ge din webbplats en omedelbar boost.

Vanliga frågor

Vad är en cache?

En cache är en mekanism som lagrar en tillfällig kopia av innehållet på lokal snabblagring (t.ex. disk eller minne) så att servern inte behöver hämta innehållet från databasen varje gång en besökare träffar en webbplats. Detta gör laddningstiden för en webbplats mycket snabbare.

Hur aktiverar jag Joomla-cache?

Det finns olika alternativ för att aktivera Joomla-cache. Den enklaste metoden är att aktivera detta via Joomla-kärnan, i den globala konfigurationen, under System i avsnittet Cache-inställningar. Aktivera bara Cache till On - konservativ cachning. Du bör också aktivera sidcache-tillägget under Extensions> Plugins för caching på sidnivå. Du bör också titta på den här artikeln för flera andra avancerade alternativ för cachning.

Hur rensar jag Joomla-cachen?

För att rensa Joomla-cachen, gå helt enkelt till System> Rensa cache och klicka på Ta bort alla.

Slutsats

Ovan har vi sett olika sätt att aktivera Joomla-cache, både från kärnan eller med hjälp av externa och avancerade komponenter för att göra din webbplats snabbare. Släpp oss en rad och låt oss veta om vi har missat något.

 

Om författaren
David Attard
Författare: David Attardwebbplats: https://www.linkedin.com/in/dattard/
David har arbetat i eller runt online / digital industrin under de senaste 18 åren. Han har stor erfarenhet av mjukvaru- och webbdesignindustrin med WordPress, Joomla och nischer som omger dem. Som digital konsult fokuserar han på att hjälpa företag att få en konkurrensfördel med en kombination av deras webbplats och digitala plattformar som finns idag.

En sak till... Visste du att människor som delar användbara saker som det här inlägget ser fantastiska ut också? ;-)
Tveka inte, lämna en användbara kommentera med dina tankar, dela sedan detta på din Facebook-grupp (er) som skulle tycka att det var användbart och låt oss skörda fördelarna tillsammans. Tack för att du delade och var trevlig!

Upplysningar: Denna sida kan innehålla länkar till externa webbplatser för produkter som vi älskar och rekommenderar helhjärtat. Om du köper produkter vi föreslår kan vi tjäna en remissavgift. Sådana avgifter påverkar inte våra rekommendationer och vi accepterar inte betalningar för positiva recensioner.
 

 

Bästa rankade cacheplugin

Gör din webbplats snabbare 

Steg för steg-gratis e-postkurs, hur du får din webbplats att ladda in less än 1 sekund  

 

vilka är vi?

CollectiveRay drivs av David Attard - arbetar i och runt webbdesignnischen i mer än 12 år, vi ger användbara tips för människor som arbetar med och på webbplatser. Vi driver också DronesBuy.net - en webbplats för drönare.

David attard

 

 

Författare Utvalda på:  Inc Magazine-logotyp   Sitepoint-logotyp   CSS Tricks-logotyp    webbdesignerdepot-logotyp   WPMU DEV-logotyp   och många fler ...