You are here

Full Page Caching voor Magento

Iedereen wilt een snelle site. Niet alleen omdat dat gebruiksvriendelijk is, maar ook omdat Google hier sinds enige tijd voor een deel zijn ranking van af laat hangen! Nu staat Magento niet bekend om zijn lean and mean infrastructuur, maar er zijn wel degelijk trucjes om Magento sneller te maken. Een relatief nieuwe en erg goede methode is full page caching.

Caching is een methode om data gerelateerde processen te versnellen. Dat wil zeggen, gegevens die niet vaak veranderen kunnen worden opgeslagen in het geheugen in plaats van telkens opnieuw te worden opgevraagd.

Globaal gezien zijn er twee vormen van caching waar een website mee te maken heeft.

  • Browserside caching
  • Serverside caching

Browserside caching

Browserside caching is een cachingmethode waarbij bestanden die de server naar de gebruiker stuurt een “verlooptijd” meekrijgen. De server raad dus aan om bijvoorbeeld een afbeelding of een script bestand voor een bepaalde tijd lokaal op te slaan. De browser volgt dit op en het resultaat is dat relatief grote bestanden niet telkens opnieuw gedownload hoeven te worden, maar gewoon ingeplakt kunnen worden vanaf het systeem waar de browser op draait.

Resultaat is een korte downloadtijd van de pagina voor de eindgebruiker alsmede minder dataverkeer en belasting vanaf de serverkant.

Serverside caching

Serverside caching is een fundamenteel andere vorm van caching met veel grotere gevolgen. Een server “serveert” webpagina’s naar de browser, normaal worden deze pagina’s telkens dynamisch vanuit code opgebouwd. Afbeeldingen moeten worden opgezocht, worden vergroot of verkleind, of er moet worden opgezocht of een getoond artikel op voorraad is of niet. Heel logisch dat dit dynamisch gebeurt, alleen is het lang niet altijd noodzakelijk om bij iedere opvraag van deze pagina dit allemaal opnieuw op te bouwen.

Full page caching

Wat met full page caching wordt ingesteld is dat deze pagina’s niet telkens helemaal opnieuw worden opgebouwd, maar kant en klaar worden opgeslagen. Magento is namelijk zodanig ontworpen dat de pagina’s allemaal dynamisch worden opgebouwd. Het kan zomaar zijn dat een Magento homepage achter de schermen bestaat uit wel 200 blocks en andere variabelen (die eventueel op hun beurt ook weer variabelen hebben!). Zonder full page cache zou dat betekenen dat de server minstens 200 verzoeken moet doen en daarna al de resultaten van die verzoeken moet samenpersen tot één webpagina; de Magento homepage. Full page caching zorgt ervoor dat de server dit resultaat kant en klaar opslaat zodat bij het opvragen van de Magento homepage deze direct getoond kan worden.

Vervolgens wordt met een stuk code telkens gecontroleerd of een bepaald “block” of een variabele op de opgeslagen pagina nog de meest recente data bevat, of dat deze opnieuw moet worden opgebouwd. Dit zijn zogenaamde triggers die dicteren of een pagina verlopen is of niet.

Het grote voordeel van full page caching is dat het de laadtijd van pagina’s voor de eindgebruiker met een factor 5 tot 10 versnelt (mits de pagina eerder binnen de ingestelde maximale verlooptijd van de pagina’s al een keer is ingeladen). Dit is erg wenselijk aangezien traag ladende pagina’s een grote afknapper zijn voor surfende klanten. Ook neemt de serverbelasting drastisch af, waardoor grotere drukte makkelijk verwerkt kan worden.

Een aandachtspunt voor een dergelijk systeem is dat goed ingesteld moet worden welke data dynamisch is en dus een trigger moet ontvangen wanneer deze inhoud verandert, dit omdat anders verouderde data weergegeven zou kunnen worden op de pagina’s. Wat je wilt voorkomen is dat bijvoorbeeld de prijs of voorraad wordt gecached; deze wil je te allen tijde up to date tonen.

Full Page Caching bij Serac

Zoals u van ons mag verwachten implementeren wij standaard full page caching bij alle webshop die we opleveren. Hiervan bent u zeker van de hoogste snelheid van uw webshop en kunnen uw bezoekers optimaal gebruik maken van de SAP Business One integratie met Magento