Blog

  • Home
  • Blog
  • Geen problemen meer met site-updates dankzij varnish cache

Geen problemen meer met site-updates dankzij varnish cache

Geen problemen meer met site-updates dankzij varnish cache

22 Feb 2016 | Geert

Sinds enige tijd maken wij gebruik van Varnish Cache bij de realisatie van de snelste websites van Nederland. Varnish Cache slaat de HTML van reeds bezochte pagina’s op en serveert deze direct uit bij alle daaropvolgende bezoeken van dezelfde pagina. Een probleem is echter dat (content)wijzigingen daardoor niet direct zichtbaar zijn voor bezoekers van de pagina. Varnish Cache verloopt na een X-aantal dagen, maar je kunt deze ook handmatig leegmaken. Het probleem is echter dat jij en ik dan niet meer meteen kunnen genieten van de snelheid van Varnish Cache. Die wordt per pagina pas weer gevuld als die een keer bezocht wordt.

Uitdaging

Met de plugin van onze hostingpartij Byte is het mogelijk om handmatig de Varnish Cache van de hele website te legen. Daarnaast wordt de Varnish Cache van iedere pagina na een X-aantal dagen automatisch geleegd. Het kan dus een aantal dagen duren totdat wijzigingen zichtbaar zijn. Tenzij je gebruikmaakt van com_content, dan wordt de Varnish Cache van de categorie overzichtspagina en van de detailpagina automatisch geleegd na het doen van een wijziging.

De eerste bezoeker van een pagina na het legen van de cache heeft dus geen profijt Varnish Cache. Die zal eerst moeten wachten totdat alle gegevens zijn opgehaald uit de database en de pagina opnieuw is opgebouwd. Iedereen die volgt zal pas weer de voordelen van Varnish Cache ondervinden.

Een oplossing zou natuurlijk zijn om altijd na het (handmatig) legen van de Varnish Cache alle pagina’s van de website zelf éénmalig te openen. Maar als je regelmatig wijzigingen doorvoert en de website tientallen pagina’s telt is dat simpelweg niet te doen.

Mogelijke oplossingen

Laatstgenoemde willen we dus tackelen. Hoe kunnen we dit slimmer oplossen? Wij zetten een aantal mogelijke oplossingen op een rij.

1. Na het doen van een wijziging alleen de Varnish Cache van de relevante pagina’s leegmaken

Als je bijvoorbeeld de titel van Nieuwsbericht A aangepast zou je alleen (automatisch) de Varnish Cache van de pagina’s kunnen leegmaken waarop dit item voorkomt. Het is echter mogelijk dat dit item op tientallen pagina’s voorkomt, bijvoorbeeld in een module op de homepage, op de nieuws overzichtspagina, in een module ‘Relevante nieuwsberichten’ en natuurlijk op de detailpagina van dit bericht.

De Varnish Cache van deze pagina’s zal echter altijd opnieuw gevuld moeten worden, door jou of door één van de bezoekers van je website. Met name als dit item voorkomt op veel pagina’s is het natuurlijk erg vervelend om al deze pagina’s zelf na te lopen en ze een keer te openen om de cache weer te vullen.

2. Varnish Cache leegmaken van de te selecteren pagina’s

Het idee was dat de beheerder van de website via een (multi)selectbox één of meerdere pagina’s van de website kan selecteren. De Varnish Cache van deze pagina’s wordt vervolgens geleegd. Een voordeel van deze oplossing ten opzichte van de vorige oplossing is dat je altijd weet welke pagina’s niet meer gecached zijn. Deze kun je dus gemakkelijker weer vullen zonder er een te vergeten.

Een nadeel blijft echter dat je het (opnieuw) vullen van de Varnish Cache zelf moet doen en dit kost natuurlijk tijd. Tenzij je dit overlaat aan één van de bezoekers van je website, die dan helaas niet meteen kan profiteren van de snelle laadtijd door Varnish Cache.

Dé oplossing: automatisch vullen van de Varnish Cache

Bovenstaande oplossingen zijn het uiteindelijk niet geworden. De voornaamste reden daarvan is dat je zelf de Varnish Cache van deze pagina’s weer handmatig moet vullen om de bezoekers van je website meteen weer te kunnen voorzien snelle pagina’s.

We hebben ervoor gekozen om een nieuwe functionaliteit toe te voegen aan de plugin van Byte die ‘onder water’ alle pagina’s een keer opent en zodoende de Varnish Cache opnieuw vult. Deze functie kun je na het legen van de Varnish Cache met één muisklik aanroepen en zodoende is mogelijk om alle bezoekers meteen weer een razendsnelle website te kunnen aanbieden.

varnish.gif

Bekijk de gratis video Website Bezoekers en Traffic  "Wij willen meer bezoekers op onze website!" is een vaak gehoorde zin vanuit  onze klanten. Wij zijn van mening dat het generen van meer bezoekers nooit een  doel op zich kan zijn. Bij ons gaat het om kwalitatieve bezoekers, bezoekers  die gedrag vertonen waaruit je kunt conluderen dat ze geinteresseerd zijn in je  dienst of product. Bekijk onze video om de kwaliteit van jouw websitebezoekers  te kunnen bepalen. Bekijk de gratis video Website bezoekers en Traffic.

Geert van Soest

Webdeveloper Geert houdt zich bezig met het ontwikkelen van software. Tevens expert op gebied van snelheidsoptimalisatie.