Am 3. Dezember 2015 wurde vom PHP Entwicklerteam offiziell die Veröffentlichung von PHP 7.0.0 bekannt gegeben. Viele Gerüchte zur verbesserten Leistung der neuen Major Version gab es schon lange. Vor allem CMS Systeme wie Drupal oder WordPress sollten erheblich davon profitieren. Es war die Rede von sagenhaften Verbesserungen der Ladezeiten und Leistungssprüngen. Ich persönlich bin bei solchen Ankündigungen eher skeptisch und glaube nur, was ich selbst sehe. 😉
PHP 5.6
Heute habe ich zunächst einige meiner weniger wichtigen Webserver mit php7 ausgestattet und bemerkte eine rein subjektive Verbesserung der Antwortzeiten. Nachdem es bei den Testservern zu keinen Problemen mit php7 kam, wagte ich das Update auf ElasticSky.de. Alledings nicht ohne zuvor einen Benchmark unter php5.6 zu machen. Ich muss erklärend hinzufügen, dass diese Webseite mehrere Plugins beinhaltet, die sich negativ auf die Ladezeiten auswirken, aber sehr positiv auf den Umgang mit Angriffen aus dem Netz. Leider muss man sagen, dass es heute praktisch nicht mehr möglich ist, eine Webseite unter WordPress zu betreiben, ohne davor ein Bollwerk an Verteidigungslinien aufzubauen. Das Net ist leider nicht mehr nett. 🙁
Man sieht schon an der mittleren Ladezeit von mehr als einer Sekunde, dass sich die Webseite bisher doch recht schwerfällig präsentierte. Und das obwohl vor kurzem die Serverhardware komplett erneuert wurde. Modernere CPU und schnelle SSD Speicher brachten jedoch nur kaum merkliche Beschleunigung mit sich.
Etwa die Hälfte der Ladezeit entfällt auf die Plugins.
PHP 7.0
Direkt nach der Umstellung auf PHP7 war schon der Aufruf der Startseite deutlich schneller. Das gleiche gilt für Links und Login. Um hier aber Wunschdenken und Placebo-Effekte auszuschließen, wiederholte ich den Benchmark unter identischen Rahmenbedingungen, mit Ausnahme der PHP Version. Das Ergebnis war mehr als deutlich.
Die Werte direkt zum Vergleich:
Mark | PHP 5.6 | PHP 7.0 | Faktor |
---|---|---|---|
Total Load Time [s] | 1.26 | 0.36 | 0.29 |
Plugin Load Time [s] | 0.64 | 0.36 | 0.56 |
Theme Load Time [s] | < 0.01 | < 0.01 | – |
Core Load Time [s] | 0.11 | < 0.01 | – |
Memory Usage [MB] | 34.03 | 4.38 | 0.13 |
Auffallend ist der deutlich geringere Speicherverbrauch und die stark verkürzte mittlere Ladezeit der Seite: Sie lädt nun 3-4 mal schneller als zuvor. Auffällig sind die Zeiten der Plugins. Machten sie zuvor rund die Hälfte der Ladezeit aus, so sind sie heute zu fast 100% daran beteiligt. Dies zeigt, dass WordPress selbst sehr gut auf PHP7 optimiert ist und stark davon profitiert, während die Plugins noch nicht, oder nur wenig optimiert sind.