Onderzoek: Laadtijden PHP 7 vs. PHP 5.6 met verschillende caching plugins

Onlangs hebben we PHP7 beschikbaar gemaakt voor ons platform. PHP7 is een grote verbetering ten opzichte van zijn voorganger, versie 5.6. Vooral op het gebied van performance en snelheid, kan PHP7 nu goed de concurrentie aan met bijvoorbeeld Hip Hop Virtual Machine. In ons artikel lees je meer over de redenen voor de update en waarom deze een verbetering is. Via ons control panel kun je eenvoudig je site upgraden naar de nieuwe PHP-versie.

PHP 7 vs. PHP 5.6

Veel klanten gebruiken plugins om caching in te stellen, naast de Varnish caching die wij al standaard voor je inregelen. Dat is vooral nodig als Varnish caching niet werkt door het gebruik van PHP-sessies of als jouw site veel baat heeft bij de minify- en combine-functionaliteiten van de caching plugins.

Maar wat is nu de invloed van de nieuwste versie van PHP op de snelheid van je site in combinatie met deze plugins? Om dit te weten te komen hebben we de populairste caching plugins voor je getest op de verschillen tussen PHP5.6 en PHP7 op het gebied van laadsnelheid en rendertijd. Daarbij hebben we meteen de invloed van Memcached meegenomen in het onderzoek, wat direct een interessante conclusie oplevert.

Nadat we de tests hebben uitgevoerd op onze testomgeving, zien we dat PHP7 een zeer positieve invloed heeft op de laadsnelheid. De totale laadtijd daalt met 44% wanneer de nieuwe versie van PHP wordt ingezet, zonder gebruik van enige vorm van caching.

Onderzoeksopstelling

Hoe hebben we dit getest en waarmee? We hebben een WP 4.5.3 site opgezet met daarin de laatste WooCommerce versie, 2.6.4, geïnstalleerd. In de WooCommerce shop zijn 150 producten geplaatst. Verder hebben we Yoast SEO en het thema Avada geïnstalleerd. Details van de opstelling:

  • Savvii VPS One pakket
  • PHP versies 5.6 en 7
  • HTTP verbinding
  • Database caching en Varnisch caching uitgeschakeld

De volgende caching plugins zijn onderzocht:

Dit zijn de populairste caching plugins die wij bij onze klanten tegenkomen. Elke plugin is onderzocht op PHP 7 vs. PHP 5.6. We hebben daarbij geen gebruik gemaakt van Memcached. Ook bij W3TC hebben we geen Memcached ingeschakeld. Wel hebben we los de de plugin Memcached Redux getest, zonder gebruik te maken van andere plugins.

Voor de test zelf is er gebruik gemaakt van Webpagetest.org. Webpagetest is 9 keer gedraaid, met de optie ‘Stop Test at Document Complete’ ingeschakeld en de header Cache-Control: no-cache, must-revalidate meegegeven. Varnish caching is uitgeschakeld op Webpagetest door het gebruik van de custom header bij elke test.

W3TC

W3 Total Cache functioneert niet in combinatie met PHP7. Er is een workaround hiervoor, deze hebben wij niet gebruikt voor dit onderzoek, omdat wij het afraden om aanpassingen in de code van plugins te maken. Bij een update van de plugin kunnen er dan fouten ontstaan.

Resultaten 1: Load Times

De tijd die het kost om de hoofdpagina van de shop in te laden.

Load Time in sec graphic php 7 vs. php 5.6

Grafiek 1: Load Times

Hier zie je heel duidelijk het verschil tussen de verschillende versies van PHP. Wanneer er geen caching plugin draait, gaat de laadtijd met 0,3 seconden omlaag. Bij het gebruik van een caching plugin zijn de verschillen nihil: de caching vangt de meeste van de PHP requests op en serveert voornamelijk platte HTML uit.

Resultaten 2: Time to First Byte

Hoe lang duurt het tot een eerste respons vanaf de server.

Time to First Byte

Grafiek 2: TTFB

Ook hier zien we dat er zonder caching plugin een groot verschil is tussen PHP5.6 en PHP7. Met caching ingeschakeld is er wederom weinig verschil. Toch zien we wel een afname van de First Byte laadtijd wanneer je PHP7 gebruikt, zeker bij het gebruik van WP Super Cache. WP Rocket is stabiel en snel op beide versies.

Resultaten 3: Speed Index

De Speed Index van Webpagetest geeft aan hoelang het duurt voordat er content op de pagina staat die zichtbaar is voor de gebruiker. Vanaf dat moment zal de noodzaak om weg te klikken namelijk een stuk kleiner zijn. Lager is beter.

Speed Index

Grafiek 3: Speed Index

Ook hier zijn de verschillen tussen 5.6 en 7 zichtbaar. Wel is het opvallend dat WP Rocket een relatief lage score krijgt, het lijkt erop dat deze plugin pas op een later moment de eerste content uitserveert ten opzichte van WP Super Cache en W3TC.

Conclusie

PHP7 maakt je site inderdaad sneller, dat kunnen we wel concluderen. Zeker wanneer je geen extra plugin gebruikt om caching in te stellen zie je dat de pagina met 0,3 seconden sneller laadt en dat de First Byte Time met maar liefst 40% sneller wordt ingeladen. Bij het gebruik van caching plugin zijn de verschillen veel kleiner. Dit komt omdat de meeste PHP aanvragen afgevangen worden in de cache en het daardoor niet uitmaakt welke versie je draait.

Wanneer je Memcached Redux los inzet zonder het gebruik van een andere caching plugin, doet de plugin niet zoveel voor je laadsnelheid. Je eerste content staat iets eerder op het scherm, maar verder lijkt de plugin je laadtijd alleen maar te vertragen in plaats van te versnellen. Dit raden we dus niet aan.

Omdat niet alle pagina’s uit een cache kunnen komen is het belangrijk PHP7 te draaien. In onze test komt overall WP Super Cache met PHP7 als snelste uit het onderzoek. WP Rocket laadt je site het snelst in, maar is heeft een relatief langzame Render Time score, wat inhoudt dat de eerste stukjes content pas laat op het scherm worden getoond. W3 Total Cache laat over het algemeen ook goede resultaten zien, maar is zonder workaround niet (goed) beschikbaar voor PHP7.

We raden aan om zelf ook je site op verschillende populaire plugins te onderzoeken. Zo kun je zelf bepalen welke plugin de beste resultaten geeft voor jouw site. Heb je vragen over dit onderzoek, of over PHP7? Neem dan contact met ons op! Onze specialisten kunnen je ook adviseren over welk pakket het beste bij je past.

Tweet about this on TwitterShare on LinkedInShare on Facebook

Reageer

(wordt niet getoond)(wordt niet getoond)
(wordt niet getoond)
* verplichte velden

Terug naar overzicht

Wij werken met:

  • rackspace_savvii
  • New Relic
  • nginx_savvii
  • Varnish
  • Mandrill
  • Freshdesk