Подтвердить что ты не робот

Производительность PHP 7

Я попытался воспроизвести этот тест, который сравнивает 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 намного медленнее в моих тестах с 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
4b9b3361

Ответ 1

В соответствии с выводом phpinfo, который вы опубликовали, opcache не включен для вашего PHP 7, в то время как он предназначен для PHP 5. Это само по себе может составлять огромную разницу.