Varnish frontend caching voor examenklacht.nl

VPS case studies

De website examenklacht.nl van het Landelijk Aktie Komitee Scholieren (LAKS) is de laatste tijd vaak bezocht. LAKS is een landelijk comité dat middelbare scholieren vertegenwoordigt. Op de website examenklacht.nl kunnen leerlingen informatie vinden over hun examen en klachten indienen. Ook is dit de eerste site waar de examenresultaten gepubliceerd worden. Wanneer die gegevens binnenkomen, wordt de site overspoeld met bezoekers.

Op donderdag 17 mei was de site enige tijd onbereikbaar omdat 20.000 leerlingen gelijktijdig probeerden hun examenresultaten te bekijken. Examenklacht.nl bevindt zich op een Windows-virtual-server. Hieronder ziet u de CPU-grafiek van deze VPS.

Serverbelasting examenklacht.nl - donderdag 17 mei, 12.00 - 0.00 uur


 

Op de avond na het probleem werden we benaderd door het LAKS om de snelheid van de website te optimaliseren. Ze verwachtten een extreem groot aantal bezoekers op de maandag daarna. Op die dag stonden er namelijk twee belangrijke examens gepland en de minister van Onderwijs zou 's middags een bezoek brengen aan het LAKS.
Het eerste wat we deden was de algehele IIS-configuratie optimaliseren en overgaan op interne caching. We slaagden erin om de serversnelheid aanzienlijk te verhogen maar maakten ons nog steeds zorgen dat de site onbereikbaar zou worden bij meer dan een paar duizend gelijktijdige bezoekers.

Tijd voor Varnish


Varnish workflow
Varnish is een HTTP-accelerator die content, nadat deze is opgevraagd, in een cachegeheugen plaatst. De volgende keer dat hetzelfde verzoek binnenkomt, kan de statische content relatief snel uit dit geheugen worden gehaald. De gebruikers van de site vragen voornamelijk statische content op, dus als die content in het geheugen kan worden bewaard, wordt veel wachttijd bespaard.

 Het duurt soms enige tijd voordat Varnish is geïnstalleerd want er zijn veel configuratieopties. Dynamische elementen (zoals cookies) moeten ook uit de statische gegevens worden gefilterd, anders werkt het cachen niet. Ook het implementeren van SSL kan veel werk zijn. Maar met een paar uur configureren kunnen de meeste sites aanzienlijk verbeterd worden.

Onze ervaring is dat Varnish het beste werkt wanneer het op een aparte virtual server wordt geplaatst, in dit geval een VPS met 3 GB geheugen en een kleine harde schijf.

Serverbelasting examenklacht.nl - maandag 21 mei, 12.00 - 0.00 uur

Bovenstaande grafiek toont de serverbelasting gedurende de piek op maandag, na de implementatie van Varnish. De site was de hele tijd extreem snel en de maximaal geregistreerde CPU-belasting was 28,7%.

Wanneer u voor uw site of applicatie een piekbelasting verwacht, neem dan van tevoren contact met ons op. Met Varnish (en vele andere technieken) kunnen we de ervaring van uw gebruikers optimaliseren.