Caching

Voor efficiënt serververkeer en snelle websites.

De snelheid van je website is cruciaal voor de gebruikerservaring. Daarom is het belangrijk om je resources, zoals het RAM-geheugen, de schijftoegang, de CPU en het netwerk, zo min mogelijk te belasten.

Er bestaat een slimme manier om je server en je netwerk zo efficiënt mogelijk te gebruiken en de snelheid van je website op peil te houden: caching.

  • Minimale belasting van je server en netwerk
  • Maakt trage websites sneller
  • Optimale gebruikerservaring van je website
Managed Cloud services Managed Cloud services
Wat is caching?

Wat is caching?

Caching is het tijdelijk opslaan van gegevens om sneller toegang te hebben tot deze gegevens. Door tijdelijke kopieën van een website te bewaren, hoeft de computer de gegevens niet opnieuw te genereren. Hierdoor is de website sneller.

Voordelen van caching

Het doel van caching is om websites en webapplicaties sneller te laden. Snelle laadtijden en een optimale gebruikerservaring zijn dan ook de belangrijkste voordelen.
Doordat er minder resources gebruikt worden, zal je website stabieler zijn bij grote bezoekerspieken.
Een snellere website draagt ook bij aan de SEO (Search Engine Optimization) van je website.

Waarom is caching zoveel sneller?

  • Een cache verbruikt minder serverresources dan de website of applicatie die het probeert te versnellen.
  • Een cache slaat de inhoud op in een snel en schaalbaar formaat.
  • De meeste caches maken gebruik van het RAM-geheugen. Dat is bijzonder snel, zowel voor het lezen als het wegschrijven van gegevens.
  • Door hun inherente simpliciteit bevatten caches heel weinig intelligentie, waardoor de load beperkt blijft.

Hoe werkt caching?

Wanneer een bezoeker je website wil bezoeken, wordt er via het internet een verzoek gestuurd naar je server om de inhoud van de pagina weer te geven. Dit verzoek moet verwerkt worden en zorgt voor een zekere belasting op het RAM-geheugen, de schijftoegang, de CPU en het netwerk. Dat geeft aanleiding tot vertraging bij het terugsturen van de inhoud.

Caching beperkt deze vertraging door gegevens die veel worden opgevraagd tijdelijk op een andere plaats en in een vereenvoudigde structuur op te slaan. Doordat deze gegevens apart worden bewaard, hoeven ze niet meer opgevraagd te worden bij de server wanneer de website opnieuw wordt geopend. Zo wordt de pagina veel sneller getoond.

Wat is caching?

Wat als de gegevens in de cache verouderd zijn?

De kopie van je website die in de cache is opgeslagen wordt niet automatisch aangepast als je website wijzigt. Daardoor bestaat de kans dat je bezoeker verouderde webpagina’s te zien krijgt. Dat is vooral een probleem als de content van je website vaak en snel wijzigt, bv. bij nieuwswebsites.

De gecachte kopie is sowieso beperkt geldig. Deze cache-tijd kan je meestal zelf instellen. Hoe vaker je website wijzigt, hoe korter je hem in cache wil laten staan. Wanneer de cache-tijd verstreken is, zal de applicatie de gegevens opnieuw bij de server moeten opvragen.

Hoe kan je verouderde cache-gegevens verwijderen?

Wanneer de brongegevens wijzigen terwijl ze nog in cache zitten, moet de applicatie de relevante cache-items zelf verwijderen. Meestal gebeurt dit in de logica die uitgevoerd wordt bij het toevoegen, verwijderen of wijzigen van brongegevens. De applicatie gaat dan op zoek naar de juiste plek in de cache om de items in kwestie te verwijderen.

Deze expliciete actie verhindert dat websites of applicaties verouderde output weergeven.

Meer weten over de werking en voordelen van caching?

Welke gegevens kan je cachen?

In principe kan je elke vorm van gegevens cachen. Maar om de cache te laten renderen en extra complexiteit te vermijden, gebruik je caching om gegevens op te slaan die erg resource-intensief zijn om te berekenen:

  • Resultaten die veel rekenkracht vereisen
  • Berekeningen die veel RAM-geheugen vereisen
  • Externe data die onderhevig kan zijn aan vertraging op het netwerk
  • Gegevens die heel veel schijftoegang vereisen

Concreet gaat het meestal over:

  • De output van databases
  • De output van externe webservices
  • Volledige webpagina’s
  • Interne gegevens en objecten
  • Gegevens uit bestanden op de schijf

Verschillende soorten caching

Alle computersystemen cachen automatisch gegevens. Zelfs wanneer je bestanden vanop de harde schijf laadt, zal het besturingssysteem delen van het bestand in het RAM-geheugen bijhouden. Databasesystemen doen hetzelfde. Helaas kent het besturingssysteem niet de context van je applicatie en zijn gespecialiseerde cachingsystemen vereist om het gewenste resultaat te bekomen.

Combell biedt volgende cachingsystemen aan:

Varnish
Varnish

Een HTTP-cache die volledige pagina’s in cache opslaat. Werkt out-of-the-box voor statische webpagina’s. De geïntegreerde VCL-programmeertaal biedt de mogelijkheid om regels te definiëren hoe dynamische en gepersonaliseerde pagina’s gecachet kunnen worden. Combell biedt Varnish configuratietemplates aan voor populaire platformen zoals WordPress, Drupal en Magento.

Meer weten over Varnish
Redis
Redis

Een gedistribueerde key-value store die gebruikt kan worden om tijdelijke gegevens op te slaan. Is gekend voor z’n snelheid en flexibiliteit en dient vanuit de applicatie aangesproken te worden. Platformen zoals WordPress, Drupal en Magento bieden integratiemogelijkheden voor Redis voor het bijhouden van dynamische gegevens.

Meer weten over Redis
OPcache
OPcache

Een geïntegreerde cache die PHP-bestanden inleest, compileert en als machinecode in het geheugen bijhoudt. Standaard geactiveerd bij je Combell webhostingpakket, dus geen technische kennis vereist. Verbetert de algemene prestaties van je PHP-code meteen, maar heeft slechts een indirect invloed op de laadtijden van pagina’s.

APCu
APCu

Een lokale key-value store die deel uitmaakt van je PHP-installatie. Standaard geactiveerd bij je Combell hosting pakket.  Biedt eveneens integratiemogelijkheden met de meest courante frameworks en CMS’en. Vergelijkbaar met Redis, maar met minder features.

Wanneer gebruik je welke cache?

Elk type cache heeft specifieke doelstellingen. Het heeft geen zin om alle caches tegelijk te activeren. Dat geeft geen garantie op betere resultaten en vergroot de complexiteit.

Selecteer het juiste type cache

  • Is je applicatie in PHP gemaakt?

Activeer dan OPcache. Bij Combell staat OPcache standaard geactiveerd voor onze klanten op onze webhosting.

Het is aangeraden om zoveel mogelijk complete webpagina’s te cachen. Hiervoor gebruik je best Varnish. Pagina’s die statisch zijn of minimale personalisatie hebben, kunnen heel eenvoudig via Varnish gecachet worden. Varnish heeft eveneens heel wat integratiemogelijkheden met CMS’en en frameworks.
Varnish heeft ook een geïntegreerde programmeertaal die gebruikt kan worden om te bepalen wat er wel of niet gecachet wordt.

Sommige pagina’s kunnen niet in hun geheel gecachet worden omdat ze gepersonaliseerde informatie weergeven. Denk bv. aan de online winkelkar of het check-out proces van een e-commerce website. Die pagina’s zijn uniek per bezoeker. Sommige gegevens van deze pagina’s kunnen wel in de cache worden bijgehouden, waardoor de database of het bestandssysteem ontlast wordt.
Wil je bv. gegevens ophalen uit een databank, een bestand op de schijf of via een webservice? Activeer dan Redis of APCu.

Worden de gegevens enkel door PHP gebruikt?

Dan volstaat APCu. De applicatiecode wordt dan nog steeds uitgevoerd, maar de toegang tot bepaalde gegevens wordt gecachet.

Hebben andere systemen ook toegang nodig tot de gecachete gegevens?

Dan is Redis de beste cachingtechnologie. Redis bevat geavanceerde datatypes, meer instructies en zelfs de mogelijkheid om het gedrag te scripten via LUA-scripts.

Afhankelijk van je CMS of framework, kunnen er kant-en-klare integratiemogelijkheden zijn voor Redis of OPcache.

Caches combineren is mogelijk, maar zorg dat je niet te veel cachet. Je loopt dan het risico om verouderde data weer te geven. Maak de caches zeker leeg wanneer de brondata aangepast wordt.
Elk cachingsysteem kan bepalen hoelang items in de cache bewaard moeten worden en biedt de mogelijkheid om items te verwijderen uit de cache.

Hulp nodig bij het selecteren en implementeren van de beste caching?

FAQ

Caching is het tijdelijk opslaan van delen van een pagina om sneller toegang te hebben tot deze gegevens. Door tijdelijke kopieën van een website te bewaren, hoeft de computer de gegevens niet opnieuw te genereren.
  • Snelle laadtijden
  • Stabiele website
  • Optimale gebruikerservaring
  • Gunstig voor SEO (Search Engine Optimization)
Wanneer een bezoeker je website wil bezoeken, wordt er via het internet een verzoek gestuurd naar je server om de inhoud van de pagina weer te geven. Dit verzoek moet verwerkt worden en zorgt voor een zekere belasting op het RAM-geheugen, de schijftoegang, de CPU en het netwerk. Dat geeft aanleiding tot vertraging bij het terugsturen van de inhoud.

Caching beperkt deze vertraging door websitebestanden die veel worden opgevraagd tijdelijk op te slaan op een andere plaats. Doordat deze gegevens apart worden bewaard, hoeven ze niet meer opgevraagd te worden bij de server wanneer de website opnieuw wordt geopend. Zo wordt de pagina veel sneller getoond.

Vertrouw op onze cachingexperten

technologies_caching_img_2_alt

Combell is al jaren actief in het streven naar snelle laadtijden en een optimale gebruikerservaring door middel van caching. Samen met jou zoeken we naar de beste oplossing voor jouw website of applicatie. Onze ervaren specialisten staan in voor het selecteren en implementeren van de beste caching.

technologies_caching_img_2_alt

Award winnende onderscheidingen

Smart Business Awards Hosting & Domain Names 2017
ISPGids
Twinkle Awards Hosting & Domain Names 2016
Webhosters.nl