Forschung: Ladezeiten PHP 7 vs. PHP 5.6 & Caching Plugins

Von: Robert-Jan Budding

Vor einige Zeit haben wir PHP7 auf unserer Plattform veröffentlicht. PHP7 ist eine große Verbesserung im Vergleich zu seinem Vorgänger, Version 5.6. Vor allem in Bezug auf Leistung und Ladezeiten kann PHP7 nun gut mit beispielsweise HipHop Virtual Machine konkurrieren. In unserem Artikel lesen Sie mehr zu den Gründen für PHP7 und warum dies eine Verbesserung ist. Über unser Control Panel können Sie die PHP-Version Ihrer Website einfach upgraden.

Viele Kunden nutzen Plug-Ins um Caching neben unserem Varnish Caching einzustellen. Dies ist vor allem notwendig, wenn Sie PHP-Sessions nutzen oder Ihre Seite viele Vorteile aus den Minify- und Combine-Funktionen des Plug-Ins ziehen kann.

Doch welchen Einfluß hat die neuste PHP-Version in Kombination mit diesen Plug-Ins nun auf die Geschwindigkeit Ihrer Seite? Um hierüber mehr zu erfahren, haben wir die bekanntesten Caching Plug-Ins mit PHP5.6 und PHP7 auf Ladegeschwindigkeit und Rendering-Zeit getestet. Hierin haben wir gleich auch den Einfluß von Memcached mitgenommen und untersucht. Hieraus können wir interessante Ergebnisse ziehen.

Nachdem wir die Tests auf unserer Testumgebung ausgeführt haben, sehen wir, dass PHP7 einen sehr positiven Einfluß auf die Ladegeschwindigkeit hat. Die gesamte Ladezeit sinkt um 44%, wenn man die neuste PHP-Version nutzt, ohne dass man Caching einsetzt.

Forschung

Wie und womit haben wir dies getestet? Wir haben eine WordPress- Instatllation mit Version 4.5.3 erstellt und darin WooCommerce Version 2.6.4 installiert. Im WooCommerce Shop haben wir 150 Produkte hinzugefügt. Außerdem haben wir Yoast SEO und das Theme Avada installiert. Die Details zusammengefasst:

  • Savvii VPS One Paket
  • PHP Versionen 5.6 und 7
  • HTTP/2-Verbindung
  • Datenbank- und Varnish Caching ausgeschaltet

Die folgenden Caching Plug-Ins haben wir untersucht:

Dies sind die bekanntesten Caching Plug-Ins bei unseren Kunden. Jedes Plug-In haben wir in Verbindung mit PHP5.6 und PHP7 getestet. Hierbei haben wir kein Memcached aktiviert. Für W3TC haben wir Memcached ausgeschaltet. Wir haben jedoch das Plug-In Memcached Redux getestet, ohne die anderen Plug-Ins zu nutzen.

Für den Test haben wir webpagetest.org genutzt. Webpagetest wurde 9 Mal mit der Option ‚Stop Test at Document Complete‘ und mit dem header Cache-Control: no-cache, must-revalidate ausgeführt. Varnish Caching wurde auf Webpagetest durch die Nutzung eines Custom Header bei jedem Test ausgeschaltet.

W3TC
W3 Total Cache funktioniert nicht in Kombination mit PHP7. Hierfür gibt es ein Workaround, welchen wir jedoch nicht genutzt haben, da wir davon abraten den Code von Plug-Ins anzupassen. Beim Update des Plug-Ins kann es hierdurch zu Problemen kommen.

Ergebnis 1: Ladezeiten

Die benötigte Zeit um die Startseite des Shops zu laden.

PHPBench_gr1

Grafik 1: Ladezeiten

Hier sehen Sie den Unterschied der verschiedenen PHP-Versionen sehr deutlich. Nutzt man kein Caching Plug-In, sinkt die Ladezeit um 0,3 Sekunden. Bei der Nutzung von Caching Plug-Ins sind die Unterschiede gering: Das Caching fängt die meisten PHP-Anfragen auf und verarbeitet diese.

Ergebnis 2: Time to First Byte

Wie lange dauert die erste Antwort des Servers.

PHPBench_gr2

Grafik 2: TTFB

Auch hier sehen wir ohne Caching Plug-In einen großen Unterschied zwischen PHP 5.6 und PHP7. Schaltet man Caching ein, ist der Unterschied wieder gering. Jedoch sehen wir eine Zunahme der First Byte Ladezeit wenn man PHP7 nutzt, besonders bei dem Einsatz von WP Super Cache.

Ergebnis 3: Speed Index

Der Speed Index von Webpagetest zeigt an, wie lange es dauert, bis sichtbarer Inhalt für Ihre Besucher vorhanden ist. Je geringer diese Zeit ist, desto weniger Grund gibt es für Besucher, die Seite direkt wieder zu verlassen.
PHPBench_gr3

Grafik 3: Speed Index

Auch hier sind Unterschiede zwischen PHP5.6 und PHP7 sichtbar. Besonders auffällig ist, dass WP Rocket sehr wenig Punkte erhält. Es scheint, dass dieses Plugin die Inhalte später verteilt als WP Super Cache und W3TC.

Fazit:
Wir können sicher schlussfolgern, dass PHP7 Ihre Website schneller macht. Besonders wenn Sie keine Caching Plug-Ins nutzen, sehen Sie, dass die Seite 0,3 Sekunden schneller lädt und dass der First Time Byte 40% schneller geladen wird. Bei dem Einsatz von Caching Plugins werden die Unterschiede kleiner, da die meisten PHP-Anfragen in der Cache abgefangen werden.

Nutzt man Memcached Redux ohne andere Caching Plug-Ins, tut dieses Plug-In nicht viel für Ihre Ladezeiten. Der erste Inhalt ist etwas schneller sichtbar, doch ansonsten scheint diese Plug-In die Ladezeiten nur zu verlangsamen. Wir raten Ihnen hiervon also ab.

Da nicht alle Seiten aus der Cache kommen können, ist PHP7 dringend anzuraten. In unserem Test sind WP Super Cache zusammen mit PHP7 am schnellsten. WP Rocket lädt Ihre Seite am schnellsten, doch die Renderzeit ist relativ langsam, wodurch sichtbarer Inhalt erst später zu sehen ist. W3 Total Cache hat auch gute Ergebnisse, doch ohne Workaround kann es nicht mit PHP7 genutzt werden.

Wir raten Ihnen an, Ihre Website auf die verschiedenen Plugins zu testen. So können Sie selbst entscheiden, welches Plugin die besten Ergebnisse für Ihre Seite liefert. Haben Sie weitere Fragen zu unserer Forschung oder PHP7? Nehmen Sie Kontakt zu uns auf!

Hinterlassen Sie eine Antwort

Lernen Sie uns näher kennen!