Varnish vs APC vs Memcached

Bij caching worden bepaalde gegevens lokaal opgeslagen zodat applicaties er snel toegang tot hebben. Het speelt een steeds grotere rol bij websites en webshops. Alles heeft met laadtijd te maken, zowel het opbouwen van een pagina als het ophalen van informatie van de database. Het is belangrijk om te weten waar de meeste laadtijd bespaard kan worden. Bezoekers zullen de website verlaten wanneer het laden van een pagina te lang duurt. Een hoge laadtijd is voor niemand een voordeel.

Varnish

Wanneer je een website bezoekt, wordt de juiste pagina opgevraagd door de browser. Dit verzoek wordt eerst door Varnish opgevangen, die vervolgens kijkt of het al een geldige kopie van die pagina heeft opgeslagen. Als dat zo is, wordt de server nooit lastig gevallen met dit verzoek. Dit kan veel laadtijd besparen, vooral bij pagina’s die rijk zijn aan content.

APC

APC (Alternative PHP Cache) is een caching systeem dat ervoor gemaakt is om PHP code op te slaan voor hergebruik. Dit is nuttig voor applicaties die gebruik maken van veel PHP bestanden. Als dezelfde PHP bestanden keer op keer gelezen moeten worden kan dit voor een hoge laadtijd zorgen, zeker wanneer het om honderden of duizenden bestanden gaat.

Memcached

Memcached wordt gebruikt om database objecten op te slaan. Wanneer een database te maken heeft met een grote hoeveelheid connecties, gaat dit ook ten koste van de laadtijd. Memcached slaat de data op in het werkgeheugen (RAM), wat ervoor zorgt dat de data hergebruikt kan worden zonder dat er verbinding met de database gemaakt hoeft te worden.

Conclusie

Welk caching systeem het beste gebruikt kan worden hangt volledig af van de desbetreffende webapplicatie. Elk caching systeem heeft zijn eigen functies en mogelijkheden. Dit houdt in dat verschillende caching systemen tegelijk gebruikt kunnen worden voor verschillende doeleinden. Enkel moeten deze wél goed ingesteld zijn. Ook als er maar één caching systeem gebruikt wordt, kan het de laadtijd dramatisch verhogen wanneer het niet goed ingesteld is. UX (user experience) is één van de belangrijkste aspecten van webdevelopment en elke manier om gebruiksvriendelijkheid te verbeteren is de tijd en moeite waard om onderzoek naar te doen.