MaartenvandeKamp.nl versnellen

Het dagelijkse aantal bezoekers stijgt langzaam maar zeker naar nieuwe nog-niet-eerder-verkende-hoogtes en ik wil de site zo snel mogelijk maken zonder een volledige front-end cache zoals Varnish in te zetten. Dus zoek ik het bij de back-end.

WordPress.com heeft Batcache ontwikkeld en deze cache maakt gebruik van memcached. Memcached kan 1 ding heel goed en dat is informatie opslaan in het geheugen. Het geheugen is tientallen malen sneller dan een harde schrijf en ideaal als plek om informatie op te slaan om die later weer op te vragen.

Sinds vanavond maakt MaartenvandeKamp.nl gebruik van een memcached cache voor objecten. De pagina wordt bij het eerste bezoek door PHP gegenereerd en vervolgens opgeslagen in het memcached geheugen. Als er opnieuw een pagina wordt opgevraagd, dan zal WordPress eerst aan memcached vragen of de informatie daar beschikbaar is. En als dat zo is, dan wordt het direct daaruit geserveerd. Staat het er niet in? Dan wordt de aanvraag doorgestuurd naar PHP om verwerkt te worden.

Momenteel wordt elke pagina een uur gecached om te testen wat het effect daarvan is op de gebruikerservaring. De laadtijd is voor de voorpagina, wat een vrij zware pagina is, bijna gehalveerd van 800ms naar 450ms. Daar ben ik heel tevreden over en ik hoop dat de gebruikers er ook plezier aan beleven.