Varnish is een reverse proxy, ook wel web accelerator genoemd. Deze draait op de server waar in een normale configuratie de webserver actief is. Byte biedt Varnish cache aan voor Dedicated Magento Servers, Magento Professional & Excellence pakketten en op ons clusterplatform. In dit artikel vind je een globale uitleg over de werking van Varnish.

Hoe werkt Varnish?

In de afbeelding hieronder wordt eerst een voorbeeld gegeven van een verzoek aan een website waar geen Varnish op draait. De pagina wordt gewoon bij de webserver zelf opgevraagd en moet door deze server in elkaar geknutseld worden. Varnish is eigenlijk een slim doorgeefluik en als Varnish juist geconfigureerd is zal hij bepaalde gedeeltes van de site (die voor alle bezoekers hetzelfde zijn) de eerste keer dat ze worden opgevraagd bewaren. Zo hoeft de webserver een groot gedeelte niet elke keer opnieuw berekenen, en dat scheelt een hoop tijd.

 

In de tweede afbeelding (hieronder) zie je hoe een tweede verzoek op de pagina door Varnish wordt opgevangen. Varnish weet dat deze pagina’s voor alle bezoekers identiek is en hoeft de webserver er dus niet mee te belasten. De pagina wordt direct uit het werkgeheugen geladen.

Wat als Varnish even niet werkt?

Mocht onze Varnish set-up niet meer werken dan zorgt een HA proxy (Magento) of LB proxy (Clusterplatform) ervoor dat het verzoek dan binnenkomt bij Apache. Hierdoor zal de bezoeker alsnog de pagina zien, ondanks dat Varnish cache stuk is. Is Varnish weer gerepareerd, dan zorgt de HA proxy of LB proxy ervoor dat de verzoeken weer door Varnish afgehandeld worden.

Varnish Cache flushen

Mocht je problemen hebben en vermoeden dat deze voortkomen uit caching dan kan deze geleegd worden via het Byte Service Panel, via de backend van je CMS of via het volgende commando wanneer je met SSH bent ingelogd:

curl -X PURGE http://domein.nl/.*

Met /* geef je aan dat alles van domein.nl gepurged (lees: geflusht) moet worden en wil je bijvoorbeeld alleen blog, dan doe je dus alleen /blog

Varnish geactiveerd, maar de site blijft toch traag?

Op het moment dat er persoonlijke gegevens op een pagina staan (zoals een winkelmandje) dan detecteert Varnish dit. Varnish doet dit door bijvoorbeeld te kijken of er een sessie actief is of er cookies gebruikt worden. Als dit het geval is kan Varnish eigenlijk niet meer goed werken en daardoor zullen deze verzoeken alsnog naar de webserver doorgestuurd worden.

Varnish is actief voor de statische pagina’s en zal (nog) geen optimalisatie uitvoeren op persoonlijke pagina’s. Om deze reden is het belangrijk dat voor deze pagina’s alsnog voldoende optimalisatie uitgevoerd wordt.

Varnish op onze platformen

Byte biedt Varnish aan voor Dedicated Magento Servers, Magento Professional & Excellence pakketten en op ons Clusterplatform.

Kijk voor platform specifieke informatie over het gebruiken van Varnish bij de volgende artikelen:

Waar bij een normale webserver de inkomende web-verzoeken afgehandeld worden door Apache (of een andere webserver), komen deze in het geval van een Varnish configuratie gelijk binnen op Varnish.

193