Varnish

De n°1 caching-technologie voor supersnelle websites en applicaties

De snelheid en stabiliteit van je webservers is cruciaal voor een optimale gebruikerservaring. Gelukkig bestaat er een oplossing die de stabiliteit en snelheid van je servers op elk moment garandeert: caching oftewel het opslaan van vaak opgevraagde informatie die niet verandert.

Varnish is de meest gebruikte en in veel gevallen ook de meest aan te raden caching-technologie.

  • Gegarandeerd snelle en stabiele servers
  • Optimale gebruikerservaring van je webapplicatie
  • Eenvoudige implementatie
Managed Cloud services Managed Cloud services

Wat is Varnish?

Varnish is een unieke vorm van caching. Het slaat volledige webpagina’s in cache op om een website sneller te maken. Varnish vangt het HTTP-verkeer dat bedoeld is voor de webapplicatie op en serveert gecachete pagina’s aan de bezoekers. Zo wordt de applicatie niet langer belast waardoor de stabiliteit gegarandeerd blijft.

Naast Varnish bestaan er nog andere caching-technologieën, zoals Redis, OPcache en APCu.

Wat is Varnish?

Leuk weetje: Varnish werd aanvankelijk als maatwerkoplossing gebouwd om de Noorse online krant www.vg.no sneller te maken en wordt nu gebruikt door miljoenen websites wereldwijd.

Meer weten over de werking en voordelen van Varnish?

Voordelen van Varnish

De voordelen van Varnish zijn overduidelijk: het garandeert de snelheid, stabiliteit en performantie van je webapplicatie.

Varnish kan heel veel simultane connecties aan en verbruikt hiervoor weinig geheugen. Ook het CPU-verbruik van Varnish ligt erg laag. Varnish focust zich enkel op caching en heeft weinig andere features. Daardoor is de architectuur erg efficiënt.

Varnish slaat volledige pagina’s op om de server in zijn geheel te ontlasten. Doordat de cache items in het RAM worden bijgehouden, is het bliksemsnel.

Een enkele Varnish server is goed voor volgende performantiewaarden:

  • 800.000 requests per seconde
  • Throughput tot 200 Gbps
  • Latency van minder een milliseconde
E-book
Bliksemsnelle sites met Varnish
Bliksemsnelle sites met Varnish
Download dit e-book

Hoe werkt Varnish?

Varnish gedraagt zich als webserver waarbij het tussen de gebruiker en de webapplicatie staat en communiceert via het HTTP-protocol. Zo gaat het HTTP-verkeer niet rechtstreeks naar de webapplicatie, maar wordt het afgeleid naar Varnish.

Hoe cachet Varnish?

In tegenstelling tot andere caching-technologieën cachet Varnish volledige webpagina’s. Doordat deze pagina’s apart worden bewaard in de cache, hoeven ze niet meer opgevraagd te worden bij de server wanneer de webpagina opnieuw wordt geopend. Zo wordt de pagina veel sneller getoond.

Wanneer een gebruiker een webpagina wil openen die nog niet gecachet is, zal Varnish een verbinding maken met de webapplicatie en het oorspronkelijke verzoek doorsturen. De HTTP-output van de opgevraagde webpagina die de webapplicatie doorstuurt, wordt bijgehouden in Varnish.

Deze informatie blijft gecached zolang de Time To Live niet verstreken is. Deze Time To Live (TTL) wordt bepaald door de “Cache-Control”-header. Deze header maakt deel uit van de HTTP-response van de webapplicatie en wordt door Varnish gebruikt om te bepalen hoe lang de webpagina gecachet mag worden.

Wanneer wordt er gecachet en wanneer niet?

Varnish zal enkel gecachete webpagina’s terugsturen als het zeker is dat de inhoud niet privé is. Wanneer authenticatie vereist is of een cookie gebruikt wordt, is de response enkel geschikt voor de gebruiker in kwestie en niet voor de rest van de bezoekers. In dat geval zal Varnish de betreffende webpagina niet cachen.

Het is niet altijd nodig om een webpagina te cachen. De webapplicatie kan beslissen dat een pagina niet in de cache opgeslagen mag worden.

Daarnaast heeft Varnish enkele interne regels die bepalen wanneer er wel en niet gecachet wordt:

Varnish kan beslissen om de cache te bypassen en de request toch naar de webserver te sturen. Ook al bevindt de aangevraagde webpagina zich in cache.

Wil jij starten met Varnish?

Wat is Varnish Configuration Language (VCL)?

VCL is een speciale programmeertaal waarmee het caching-gedrag van Varnish ingesteld kan worden.

VCL kan gebruikt worden voor volgende taken:

  • Inspecteren van HTTP-requests en -responses
  • Manipuleren van HTTP-requests en -responses
  • Bepalen van het cache-gedrag
  • Selecteren van de gewenste webserver
  • Bepalen van de TTL van objecten
  • Eventuele communicatie met externe systemen
  • Op maat maken van synthetische HTTP-responses

De VCL-code bevindt zich in een VCL-file die zich op de Varnish server bevindt.

Varnish implementeren

Zonder Varnish zal de aanvraag van een gebruiker rechtstreeks naar de webapplicatie doorgestuurd worden. Bij het implementeren van Varnish komt daar een Varnish-server tussen te staan.

Om Varnish te activeren, volstaat het in theorie om het “www” DNS-record van je domeinnaam naar de Varnish-server te verwijzen. Als je applicatie de HTTP-caching conventies respecteert, gaat de rest vanzelf. Zo eenvoudig kan je met Varnish starten.

In de praktijk moet je goed nagaan hoe je webapplicatie omgaat met HTTP:

  • Zijn er bepaalde delen van webpagina’s die niet gecachet mogen worden?
  • Zijn er bepaalde delen van webpagina’s die wel gecachet mogen worden, zelfs al maken die gebruik van cookies?
  • Zijn er bepaalde cookies die verwijderd moeten worden om correct te kunnen cachen?
  • Zijn bepaalde cachevariaties mogelijk op basis van cookies?
  • Maakt de webapplicatie gebruik van Cache-Control headers voor het bepalen van de TTL?

In specifieke situaties moeten sommige objecten expliciet verwijderd worden uit de cache.

Denk bijvoorbeeld aan de voorpagina van een nieuwssite. Wanneer er breaking news te melden is, wil de nieuwssite niet wachten tot de TTL van de gecachete content vervalt. Daarom moeten de betreffende pagina’s meteen uit de cache verwijderd worden.

Hiervoor heeft VCL de nodige voorzieningen.

Courante platformen zoals WordPress, Drupal, Joomla en Magento bieden VCL-templates aan die rekening houden met het gedrag van het framework in kwestie.

Haal het maximum uit Varnish… en je applicatie

Varnish kent al lang geen geheimen meer voor de experten van Combell. Samen met jou zoeken we naar de beste oplossing voor jouw specifieke applicatie. Ook voor andere caching-oplossingen kan je bij ons terecht. Als uitbreiding op onze webhostingpakketten of als oplossing op maat om de performantie van je applicatie te optimaliseren.

Nood aan een performante Varnish-oplossing?

FAQ

Varnish is een unieke vorm van caching. Het slaat volledige webpagina’s in cache op om een website sneller te maken. Door een tijdelijke kopie van een webpagina te bewaren, hoeft de computer de gegevens niet opnieuw te genereren.
Varnish kan heel veel simultane connecties aan en verbruikt hiervoor weinig geheugen. Ook het CPU-verbruik van Varnish ligt erg laag.

Zo garandeert Varnish:
  • Snelle laadtijden
  • Stabiele website
  • Optimale gebruikerservaring
Wanneer een gebruiker een webpagina wil openen, maakt Varnish een verbinding met de webapplicatie en stuurt het oorspronkelijke verzoek door. De HTTP-output van de opgevraagde webpagina die de webapplicatie doorstuurt, wordt bijgehouden in Varnish.

Varnish slaat volledige webpagina’s op in de cache in het RAM-geheugen. Daardoor hoeven ze niet meer opgevraagd te worden bij de server wanneer de webpagina opnieuw wordt geopend. Zo wordt de pagina veel sneller getoond.

Vertrouw op onze Varnish-experten

Vertrouw op onze Varnish-experten

Combell is al jaren actief in het streven naar snelle laadtijden en een optimale gebruikerservaring door middel van caching, waaronder het populaire Varnish.

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.

Vertrouw op onze Varnish-experten

Award winnende onderscheidingen

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