Ich habe versucht, diesen Benchmark zu reproduzieren, der PHP 7 mit älteren Versionen auf einem WordPress-Server vergleicht: http://talks.php.net/oz15#/wpbench
Meine Konfiguration ist fast gleich, der Server hat einen i7, SSD, 16 GB RAM und Debian. Die Serversoftware ist nginx. Überraschenderweise unterscheiden sich meine Ergebnisse stark von den oben verlinkten.
In meinen Tests Siege (https://www.joedog.org/siege-home/) gibt folgendes aus:
Für PHP 7.0.0RC1:
siege -c100 -r100 http://10.22.255.133/wordpress/
** SIEGE 3.0.8
** Preparing 100 concurrent users for battle.
The server is now under siege.. done.
Transactions: 10000 hits
Availability: 100.00 %
Elapsed time: 131.61 secs
Data transferred: 95.77 MB
Response time: 0.75 secs
Transaction rate: 75.98 trans/sec
Throughput: 0.73 MB/sec
Concurrency: 56.98
Successful transactions: 10000
Failed transactions: 0
Longest transaction: 1.01
Shortest transaction: 0.04
Für PHP 5.6.12:
siege -c100 -r100 http://10.22.255.133/wordpress/
** SIEGE 3.0.8
** Preparing 100 concurrent users for battle.
The server is now under siege.. done.
Transactions: 10000 hits
Availability: 100.00 %
Elapsed time: 63.41 secs
Data transferred: 95.77 MB
Response time: 0.03 secs
Transaction rate: 157.70 trans/sec
Throughput: 1.51 MB/sec
Concurrency: 4.45
Successful transactions: 10000
Failed transactions: 0
Longest transaction: 0.63
Shortest transaction: 0.01
Wenn man sich die Transaktionsrate ansieht, sieht man, dass PHP 5 etwa doppelt so schnell ist wie PHP 7. Das kann ich nicht glauben.
Eine weitere interessante Tatsache ist, dass das Ausführen dieses Benchmarks (http://www.php-benchmark-script.com/) führt dazu, dass PHP 7 etwa dreimal schneller ist als PHP 5 (natürlich auf demselben Server, auf dem ich auch WordPress getestet habe). Die gemessenen Ergebnisse waren:
- PHP7.0.0RC1 | PHP5.5.28
- Mathematik: 0,201 | 0,683
- String-Manipulation: 0,271 | 0,77
- Schleifen: 0,166 | 0,486
- Ansonsten: 0,12 | 0,295
Ich habe beide phpinfo()-Dateien hochgeladen, falls das hilft:
- PHP-Version 7.0.0RC1: http://simsso.de/downloads/stackoverflow/php7.html
- PHP-Version 5.6.12-0+deb8u1: http://simsso.de/downloads/stackoverflow/php5.html
Haben Sie eine Ahnung, warum PHP 7 in meinen Tests mit WordPress so viel langsamer ist?
Mit opcache aktiviert PHP 7 ist tatsächlich doppelt so schnell wie PHP 5. Danke Mjh für deinen Hinweis!
Ich habe die folgenden Messungen auf einem zufällig gefüllten WordPress-Server durchgeführt.
Siege gibt jetzt Folgendes aus für PHP 7.0.0RC1:
Transactions: 10000 hits
Availability: 100.00 %
Elapsed time: 62.14 secs
Data transferred: 604.20 MB
Response time: 0.02 secs
Transaction rate: 160.93 trans/sec
Throughput: 9.72 MB/sec
Concurrency: 3.77
Successful transactions: 10000
Failed transactions: 0
Longest transaction: 0.41
Shortest transaction: 0.01
Und PHP5.6.12:
siege -c100 -r100 http://10.22.255.133/wordpress/
** SIEGE 3.0.8
** Preparing 100 concurrent users for battle.
The server is now under siege.. done.
Transactions: 10000 hits
Availability: 100.00 %
Elapsed time: 119.98 secs
Data transferred: 604.20 MB
Response time: 0.60 secs
Transaction rate: 83.35 trans/sec
Throughput: 5.04 MB/sec
Concurrency: 49.86
Successful transactions: 10000
Failed transactions: 0
Longest transaction: 4.06
Shortest transaction: 0.04
Haben Sie die Sitzungsunterstützung für den Test deaktiviert? Außerdem bist du gelaufen
siege
auf demselben Rechner, auf dem nginx und php-fpm installiert sind?– Mjh
1. September 2015 um 9:58 Uhr
Vielen Dank für Ihre Antwort! Die Sitzungsunterstützung ist deaktiviert und Siege wird auf einem anderen Computer im lokalen Netzwerk ausgeführt. Ich habe auch darauf geachtet, dass das Netzwerk kein limitierender Faktor ist.
– Timo Denk
1. September 2015 um 12:15 Uhr
Ist der
php-fpm
config für beide PHP-Versionen gleich? Außerdem scheint Opcache für Ihr PHP 7 nicht aktiviert zu sein, während es für PHP 5 ist. Das allein kann einen großen Unterschied ausmachen.– Mjh
1. September 2015 um 12:21 Uhr
Danke, dass du das gepostet hast. Sie könnten mit den Anfragen pro Sekunde höchstwahrscheinlich noch höher gehen, aber ich gehe davon aus, dass Sie mit den Ergebnissen, die Sie jetzt sehen, ganz einverstanden sind.
– Mjh
1. September 2015 um 15:13 Uhr
Ich denke, es könnte auch erwähnenswert sein, dass WordPress eine Geschichte hat, wenn es um das Benchmarking “schnellerer” Versionen von PHP geht. HHVM vor ~ 2-3 Jahren behauptete 6x Geschwindigkeitsverbesserungen gegenüber den meisten großen PHP 5.2 Frameworks, aber WordPress war weniger als 2x so schnell. Immer noch schneller, aber etwas enttäuschend. (Leider kann ich keine Referenz finden)
– DanielM
21. September 2015 um 14:54 Uhr