WordPress & Webwork

WordPress-Performance bei PHP 5.6, 7.0 und 7.1

Wie wirkt sich der Wechsel von PHP 5.6 auf 7.0 oder 7.1 bei einer WordPress-Installation aus?

Während ich auf die Umstellung des Servers auf neue Software inkl. Unterstützung für HTTP/2 warte, habe ich gestern ein paar kleine Testreihen durchgeführt und geschaut wie sich die Umstellung von PHP 5.6 auf 7.0 und 7.1 – jeweils als CGI/FPM – auf die allgemeine Performance von WordPress-Installationen auswirkt.

Als Testobjekte nahm ich meine Herr-der-Ringe-Website und die WP-Installation hier auf perun.net. Gemessen habe ich lediglich die Startseite und zwar auf Pingdom, in den Developer Tools von Firefox und auf GTmetrix.

Schauen wir uns zuerst die Screenshots der Tolkien-Seite mal unter PHP 5.6 an:

Faszination-Tolkien.de unter PHP 5.6 auf Pingdom

Darunter kommen die Ergebnisse in PHP 7.0:

Faszination-Tolkien.de unter PHP 7.0 auf Pingdom

Und zu guter Letzt das ganze in PHP 7.1:

Faszination-Tolkien.de unter PHP 71 auf Pingdom

Faszination-Tolkien.de unter PHP 7.1 auf Pingdom

Hier noch einmal die Tabellen mit den Ergebnissen der jeweiligen Website und Einstellung:

Faszination Tolkien Pingdom Firefox mit Cache GTmetrix
PHP 5.6 1.020 ms 2.000 ms 520 ms 2.300 ms
PHP 7.0 755 ms 1.520 ms 380 ms 2.200 ms
PHP 7.1 702 ms 1.400 ms 380 ms 2.100 ms

In der dritten Spalte sieht man die Werte in Firefox mit einem leeren Browsercache, wie es bei einem Neubesucher der Website wäre, und in der vierten Spalte sind die Werte in Firefox mit vollem Browsercache zu sehen. Das gleiche noch einmal für perun.net:

perun.net Pingdom Firefox mit Cache GTmetrix
PHP 5.6 1.250 ms 2.720 ms 920 ms 3.500 ms
PHP 7.0 984 ms 2.700 ms 670 ms 3.400 ms
PHP 7.1 948 ms 2.690 ms 630 ms 3.300 ms

Wie schon oben angemerkt, läuft der Server noch nicht mit HTTP/2, was sich vor allem bei https-Seiten positiv auf die Performance auswirken soll. In den GTmetrix-Spalten fallen die Unterschiede sehr klein aus, was meiner Meinung nach hauptsächliche daran liegt, dass die Websites aus Vancouver in Kanada aufgerufen werden, wogegen Pingdom in der Einstellung dies aus Stockholm (Schweden) macht. Dafür sind die Unterschiede in Firefox mit vollem Cache und vor allem in Pingdom sehr deutlich.

Wenn man sich noch die folgende Grafik anschaut, in der der Speicherverbrauch der gleichen WordPress-Instalaltion unter PHP 5.6, 7.0 und 7.1 angezeigt wird…

PHP-Speicherverbrauch der gleichen WP-Installation unter PHP 5.6, 7.0 und 7.1

… dann ist der Umstieg auf PHP 7.x auf jeden Fall ein lohnenswerter Schritt der die Website performanter macht und den Server schont, zumal ich bei beiden Installationen weder unter PHP 7.0 noch unter PHP 7.1 irgendwelche Probleme mit WordPress oder dort eingesetzten Plugins erkennen konnte.

14 Reaktion(en)

      1. Wini

        Witzig. Wenn ich bei der Email mich der Formular-Auto-Fillin Funktion bediene, wird meine Adresse gepostet. Obwohl der richtige Text im Kommentar Feld steht.

        Danke auf alle Fälle. Ich werd das auch mal probieren.

        1. Vladimir

          Hallo Wini,

          das kam dadurch zu Stande, dass Antispam Bee ein verstecktes Feld einfügt, auf das dann die Auto-Fill-Funktion zugreift. Werde mal schauen, welche Funktion innerhalb von Antispam Bee dafür zuständig ist.

          Nachtrag: habe jetzt versucht mit der Autofill-Funktion das Problem nachzuvollziehen. Aber bei mir wird das versteckte Feld nicht ausgefüllt und es wird auch nicht die Adresse angegeben, wie bei dir und bei Kevin. Muss daher noch weiter recherchieren.

  1. Kari Jambo

    Einige ältere Plugins wie AEC gehen nicht mehr, aber die waren ja auch schon nicht mehr für die aktuellen WP-Versionen opportun. Für Core und die Masse gängiger, aktueller Plugins, bei mir 46 incl. maps, bausteien, Gallerien etc. ist alles o.k.. Danke für den Tip und Test!

  2. Klaus

    Danke für den Test.
    Ein Problem gab es aber, hat zwar nichts direkt mit WP zu tun, wird aber oft zusammen verwendet.
    Der MySQLDumper in der offiziellen Version 1.24.4 funktioniert nicht mehr.
    Wer den Dumper weiter verwenden will fidet bei Github eine Lösung.
    Mehr dazu gibt es im Forum des Dumpers

  3. Pingback: WordPress: Antispam Bee + Autofill-Funktion = Adresse anstatt Kommentar » perun.net

  4. Pingback: Ladezeit einer WordPress-Website verbessern » perun.net

  5. Pingback: WordPress-Performance im Test: PHP 5.6, 7.0 und 7.1 - SpaceHost Blog

  6. Dominik Späte

    Super, vielen Dank für die Mühen!

    Mit PHP 7.1.8 bekomme ich neuerdings die mir völlig fremde Warning "Narrowing occurred during type inference" – allerdings nur bei einem Plugin, das eine PDF-Klasse aus dem Jahr 1897 verwendet. Theoretisch könnte W3 Total Cache dabei eine Rolle spielen.

    Ansonsten habe ich WordPress mit 80 Plugins lokal auf PHP 5.6 und produktiv auf 7.1 laufen. Freilich erzeugen einige Plugins Notices bzgl. undefinierter Variablen etc. Aber einen funktionalen Unterschied zwischen der 5.6- und der 7.1-Umgebung konnte ich nicht erkennen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

✉ WordPress-Newsletter ✉

Tipps und News als E-Mail in deinem Postfach? Dann abonniere einfach den ersten deutsch­sprachigen Word­Press-Newsletter:


Der Newsletter ist hinterher jederzeit abbestellbar.

Eintragen!