Я попытался воспроизвести этот тест, который сравнивает PHP 7 со старыми версиями на сервере Wordpress: http://talks.php.net/oz15#/wpbench
Моя конфигурация почти такая же, у сервера есть i7, SSD, 16GB RAM и debian. Серверное программное обеспечение - nginx. Удивительно, что мои результаты сильно отличаются от тех, которые я связал выше.
В моих тестах Siege (https://www.joedog.org/siege-home/) выводит следующее:
Для 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
При просмотре скорости транзакций вы можете видеть, что PHP 5 примерно в два раза быстрее, чем PHP 7. Я не могу в это поверить.
Еще один интересный факт: запуск этого теста (http://www.php-benchmark-script.com/) приводит к тому, что PHP 7 примерно в 3 раза быстрее, чем PHP 5 (разумеется, на том же сервере где я также тестировал Wordpress). Измеренные результаты:
- PHP 7.0.0RC1 | PHP 5.5.28
- Математика: 0.201 | 0,683
- Строка Манипуляция: 0.271 | 0,77
- Петли: 0.166 | 0,486
- Если Else: 0.12 | 0,295
Я загрузил оба файла phpinfo() в случае, если это помогает:
- Версия PHP 7.0.0RC1: http://simsso.de/downloads/stackoverflow/php7.html
- Версия PHP 5.6.12-0 + deb8u1: http://simsso.de/downloads/stackoverflow/php5.html
У вас есть идеи, почему PHP 7 намного медленнее в моих тестах с Wordpress?
С поддержкой opcache PHP 7 на самом деле вдвое быстрее PHP 5. Спасибо Mjh за подсказку!
Я сделал следующие измерения на случайно заполненном сервере WordPress.
Siege теперь выводит следующее для 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
И 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