Ga naar inhoud

Caching lagen

Om een hoge snelheid te behalen met het laden van een website, is het gebruik van caches zeer belangrijk. Een cache is een opslag van voorberekende of eerder opgehaalde resultaten zodat de volgende keer het resultaat sneller geladen kan worden. Een voorbeeld is wanneer je voor de eerste keer een webpagina bezoekt moet je alle afbeeldingen downloaden om ze in je browser weer te geven. Daar blijven ze echter bewaard voor de tweede keer dat je naar die website gaat, je hoeft die afbeeldingen dan niet meer te downloaden.

Disk cache

Alle bestanden op de server staan op een snelle hardeschijf (SSD NVMe), maar veel gebruikte bestanden worden in het geheugen gezet (RAM) waardoor ze sneller opgehaald kunnen worden. Hierbij moet je denken aan de vitale bestanden van jouw website, zodat pagina's nóg sneller geladen kunnen worden.

Opcode cache

Dynamische pagina's moeten worden uitgevoerd voor elke bezoeker, dat zijn pagina's waar de inhoud afhankelijk is van de gebruiker (zoals een contactformulier of een winkelmand) of pagina's van WordPress. Door de dynamische pagina's van te voren in te lezen en te compileren is het de volgende keep vele malen sneller met het genereren van een pagina.

Object cache

Een object cache is een algemene opslag voor objecten en wordt gebruikt voor het opslaan van bezoekersessies en database transacties. Hiervoor gebruiken wij Memcache, een zeer snelle en hoogwaardige object cache implementatie.

Page cache

Pagina's van Content Management Systemen (CMS) zoals WordPress zijn altijd dynamische pagina's, maar ondanks dat ze aan te passen zijn vanuit het administratiepaneel zijn de verder altijd hetzelfde. In plaats van de pagina's elke keer te hergenereren, worden de pagina's één keer gegenereerd en opgeslagen in de page cache (de fastcgi cache van Nginx). Dit levert een enorme snelheidswinst.

Browser cache

Elke bezoeker op je website download alle bestanden om je website te kunnen zien. Hierbij moet je denken aan de pagina zelf, de afbeeldingen, het stijlbestand, de dynamische scripts, lettertypes, etc. Terwijl de inhoud van de pagina vaak veranderd, blijven de andere bestanden vaak hetzelfde. Door deze bestanden bij de bezoeker in de browser te bewaren hoeven die niet meer opnieuw gedownload worden en bespaar je veel bandbreedte.