Login

WordPress-Performance mit PHP 5.6, 7.0 und 7.1 im Test

Dass PHP 7 deutlich schneller als PHP 5 ist, wurde in den letzten Monaten immer wieder gezeigt. Bis zu 2- bis 3-mal schneller als PHP 5.6 und noch einmal deutlich höher bei älteren PHP-Versionen, ist die offizielle Aussage. Allerdings wurde das mit reinen Benchmark-Tools auf dem Webserver gemessen, wie verhält es sich bei einer Live-Seite? Trifft 2x mehr Performance auch für WordPress zu?

Schon vor über einem Jahr, genauer im Dezember 2015 erschien PHP 7 mit der Version 7.0.0 (ja so lange ist das her). Fast genau ein Jahr später, also im Dezember 2016 kam dann die Version 7.1.0
Zwischenzeitlich bewegen wir uns bei den Versionen dank zahlreicher Updates und Patche bei 7.0.17 sowie 7.1.3

Wir haben uns daher die aktuellen Versionen im direkten Vergleich einmal angesehen und können bestätigen, dass der Umstieg auf PHP 7, egal ob 7.0 oder gleich 7.1 in jedem Fall lohnt. Behält man dabei vor Augen, dass wir uns mit der Version 5.6 von PHP bereits in der erweiterten Support-Phase befinden, in der ausschließlich kritische Sicherheitslücken geschlossen werden, allerdings keine Bugs mehr, sollte ein Umstieg zügig angegangen werden.

Offizielle PHP 7 Benchmarks

Der offizielle Benchmark, den PHP mit Veröffentlichung der Version 7 von PHP herausgegeben hat und der mit dem “Siege Benchmark Tool” erstellt wurde, zeigt, dass der Pagespeed von z.B. WordPress verdoppelt wurde. die Präsentation findet Ihr unter: http://talks.php.net/fluent15#/wpbench
Dort finden sich auch Folien zu Drupal, MediaWiki, phpBB und anderen Systeme.

Wie bei allen Benchmarks und auch den Folgenden gilt natürlich, dass diese von den Rahmenbedingungen und bei reinen Online-Tests immer auch der Kapazität des testenden Anbieters abhängig sind (Auslastung, Verbindungsgeschwindigkeit etc.)

WordPress Test mit Live-Seite

Für unseren Test haben wir uns eine Seite angesehen, die als reiner Blog verwendet wird und nicht besonders optimiert wurde. Bestehend aus einer Handvoll Seiten, 153 Beiträgen sowie ca. 200 Kommentaren. Im Einsatz sind einige gängige/beliebte Plugins wie z.B. Antispam Bee, All in One SEO Pack oder Google XML Sitemaps sowie aktiviertes Caching über das ZenCache-Plugin.

Die Webseite, mit aktuellem WordPress 4.7.3, liegt im kleinsten Shared-Hosting Tarif bei uns und hat keine individuellen php.ini Einstellungen oder spezielle Anpassungen.

Gemessen wurde der Zugriff auf die Startseite, die insgesamt mit Grafiken etc. nicht ganz 1 MB ausliefert, mittels den drei Tools: Pingdom , GTmetrix und Firefox.

Die Ergebnisse der genannten Prüf-Tools:

  • GTmetrix – Standort Vancouver (Kanada)
  • Pingdom – Standort Stockholm (Schweden)
  • Firefox 53.0b8 mit und ohne Cache
PingdomFirefoxmit CacheGTmetrix
PHP 5.6.30758 ms3.970 ms2.740 ms3.000 ms
PHP 7.0.17651 ms2.390 ms2.410 ms2.900 ms
PHP 7.1.3639 ms2.210 ms1.970 ms2.800 ms

Interessant hierbei ist, dass laut Pingdom die Ladezeit gerade einmal um 100 Millisekunden schneller wurde, bei GTmetrix dasselbe Bild bzw. nur marginale Unterschiede. Deutlich ist eine Verbesserung beim Firefox zu sehen, der statt 4 Sekunden nur noch 2,2 Sekunden benötigt bis zur vollständigen Darstellung aller Inhalte (beim Erstaufruf der Webseite).

Die Veränderung zwischen PHP 7.0 und 7.1 fällt kaum ins Gewicht, allerdings ist der Unterschied von 400ms bei einem wiederkehrenden Aufruf der Webseite durchaus relevant.

Einen ähnlichen Test, ebenfalls mit echten WordPress-Seiten die sich im Einsatz befinden, hat vor knapp 2 Monaten auch Vladimir von perun.net gemacht, mit ähnlichen Ergebnissen.

PHP 7.1 Performance mit Zend Opcode Cache

ocp_stats_php713
Für die Tests wurde PHP als PHP-FPM über Apache 2.4 ausgeführt. Die Performance einer Seite (=Pagespeed) kann man ohne viel Aufwand noch steigern, setzt man zusätzlich zu einem normalen Caching-Plugin von WordPress, das im Regelfall nur Einträge in der .htaccess hinzufügt, einen Bytecode Cache ein. Mit PHP 7.1.3 und aktiviertem Zend Opcache ergeben Pingdom und Firefox noch einmal bessere Werte (GTmetrix unverändert).

  • Pingdom: 577 ms
  • Firefox: 2.180 ms
  • Firefox mit Cache: 1.920 ms
  • GTmetrix: 2.800 ms

Folgende Einstellungen wurden gewählt:

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.file_cache={DOCROOT}/.opcache
opcache.fast_shutdown=1
opcache.validate_permission=1
opcache.enable_cli=1

PHP 7.1 + OPCache + Nginx Proxy + HTTP/2

Noch mehr Geschwindigkeit – unabhängig von OnSite-Optimierungen – kann man erhalten, wenn WordPress vor dem Apache noch den Nginx-Webserver als Proxy verwendet und HTTP/2 genutzt wird.

  • Pingdom: 563 ms
  • Firefox: 2.090 ms
  • Firefox mit Cache: 1.830 ms
  • GTmetrix: 2.500 ms

gtmetrix_result_nginxproxy_php713

Fazit

PHP 7 und auch PHP 7.1 bringen einen Performance-Boost für Webseiten auch in realen Szenarien. Dieser fällt natürlich je nach Umgebung und Bedingungen mal deutlicher, mal weniger stark auf. Bei reinen Online-Prüftools sind die Unterschiede eher gering, im realen Anwendungsfall (von 4 auf 2 Sekunden) allerdings sichtbar. Für den Anwender ist eine Umstellung ohne Aufwand oder zusätzliche Konfiguration möglich und wirkt sich direkt aus.
Selbstverständlich muss das zugrundeliegende System bzw. die eingesetzten Plugins PHP 7 unterstützen.

Bei unserem Hosting ist standardmäßig Nginx als Proxy aktiv inklusive HTTP/2. Der Zend OPCache steht ebenfalls zur Verfügung und kann per PHP.INI-Datei konfiguriert werden. Wird nun noch ein gutes Caching-Plugin eingesetzt und ordentlich konfiguriert, sowie gängige Tipps beim Aufbau der Webseiten in Bezug auf Geschwindigkeit beachtet, sind die Webseiten extrem performant.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *
Bitte beachte, dass sich Dein Kommentar auf den Artikel beziehen sollte. Wenn Du ein persönliches Kundenanliegen besprechen möchtest, wende Dich bitte an unseren Kundenservice auf Facebook, Twitter oder über unsere Support-Seite.