Starałem się odtworzyć ten wzorzec, który porównuje PHP 7 ze starszymi wersjami na serwerze WordPress: http://talks.php.net/oz15#/wpbenchPHP 7 Wydajność
Moja konfiguracja jest prawie taka sama, serwer ma i7, SSD, 16GB RAM i debian . Oprogramowanie serwera to nginx. Zaskakujące jest to, że moje wyniki znacznie różnią się od tych, które mam powyżej.
w swoich badaniach oblężenie (https://www.joedog.org/siege-home/) przesyła następujące:
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
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
Kiedy patrząc na kurs transakcji widać, że PHP 5 jest około dwa razy szybsze niż PHP 7. Nie mogę wierzy, że.
Kolejnym interesującym faktem jest to, że uruchomienie tego testu porównawczego (http://www.php-benchmark-script.com/) powoduje, że PHP 7 jest około 3 razy szybsze niż PHP 5 (oczywiście na tym samym serwerze, na którym przetestowałem także Wordpress). Zmierzone wyniki:
- PHP 7.0.0RC1 | PHP 5.5.28
- Matematyka: 0.201 | 0.683
- Manipulacja strunami: 0.271 | 0,77
- Pętle: 0.166 | 0.486
- Jeśli Else: 0.12 | 0,295
został przesłany zarówno phpinfo() w przypadku plików, które pomagają:
- Wersja PHP 7.0.0RC1: http://simsso.de/downloads/stackoverflow/php7.html
- Wersja PHP 5.6.12-0 + deb8u1: http://simsso.de/downloads/stackoverflow/php5.html
Czy masz pojęcie, dlaczego PHP 7 jest o wiele wolniejszy w moich testach z Wordpress?
Z opcache włączona PHP 7 jest faktycznie dwa razy tak szybko, jak PHP 5. Dzięki MJH za podpowiedź!
Dokonałem następujących pomiarów na losowo wypełnionym serwerze WordPress.
Siege teraz wyprowadza następujące dla 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
I 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: 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
Czy wyłączyłeś obsługę sesji dla testu? Czy uruchomiłeś 'siege' na tym samym komputerze, na którym zainstalowane są nginx i php-fpm? – Mjh
Dziękujemy za odpowiedź! Obsługa sesji jest wyłączona, a Siege działa na innym komputerze w sieci lokalnej. Upewniłem się również, że sieć nie jest czynnikiem ograniczającym. –
Czy konfiguracja 'php-fpm' jest taka sama dla obu wersji php? Wygląda na to, że opcache nie jest włączony dla twojego php 7, natomiast dla php 5. To samo może oznaczać ogromną różnicę .. – Mjh