PHP7 - производительность

Активист

Активист
Команда форума
Хороший прирост) Мои тесты (один fcgi вокер, рабочая машина, xcache отключен)

PHP 5.6
Код:
keeper@keeper:~$ ab -n 1000 http://avtovokzal.localhost/
This is ApacheBench, Version 2.3 <$Revision: 1638069 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking avtovokzal.localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.4.12
Server Hostname:        avtovokzal.localhost
Server Port:            80

Document Path:          /
Document Length:        53203 bytes

Concurrency Level:      1
Time taken for tests:   28.400 seconds
Complete requests:      1000
Failed requests:        2
   (Connect: 0, Receive: 0, Length: 2, Exceptions: 0)
Non-2xx responses:      2
Total transferred:      53462484 bytes
HTML transferred:       53097830 bytes
Requests per second:    35.21 [#/sec] (mean)
Time per request:       28.400 [ms] (mean)
Time per request:       28.400 [ms] (mean, across all concurrent requests)
Transfer rate:          1838.38 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:     4   28  83.7     13     618
Waiting:        4   28  83.7     13     617
Total:          4   28  83.7     13     618

Percentage of the requests served within a certain time (ms)
  50%     13
  66%     14
  75%     15
  80%     16
  90%     17
  95%     19
  98%    504
  99%    514
 100%    618 (longest request)
keeper@keeper:~$
Тоже самое на PHP 7
Код:
keeper@keeper:~$ ab -n 1000 http://avtovokzal.localhost/
This is ApacheBench, Version 2.3 <$Revision: 1638069 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking avtovokzal.localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.4.12
Server Hostname:        avtovokzal.localhost
Server Port:            80

Document Path:          /
Document Length:        53203 bytes

Concurrency Level:      1
Time taken for tests:   18.657 seconds
Complete requests:      1000
Failed requests:        2
   (Connect: 0, Receive: 0, Length: 2, Exceptions: 0)
Non-2xx responses:      2
Total transferred:      53497414 bytes
HTML transferred:       53097830 bytes
Requests per second:    53.60 [#/sec] (mean)
Time per request:       18.657 [ms] (mean)
Time per request:       18.657 [ms] (mean, across all concurrent requests)
Transfer rate:          2800.14 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:     2   19  68.6      9     604
Waiting:        2   18  68.6      9     603
Total:          2   19  68.6      9     604

Percentage of the requests served within a certain time (ms)
  50%      9
  66%     10
  75%     10
  80%     11
  90%     11
  95%     13
  98%     33
  99%    504
 100%    604 (longest request)
keeper@keeper:~$
Если кратко, то прирост прирост по количеству запросов 52%, по скорости 68%:
PHP 5.6: Requests per second: 35.21 [#/sec] (mean)
PHP 7: Requests per second: 53.60 [#/sec] (mean)
 

halva

Новичок
Я замерял как работает PHP 7, он действительно стал быстрее, но недавно замерял как работает HHVM, он рвет PHP 7 по скорости выполнения моего кода раза в 3, но с памяти(на процесс) при этом жрет в 5 раз больше, но я думаю это не проблема в хайлоад проектах.
 

Breeze

goshogun
Команда форума
Партнер клуба
Я замерял как работает PHP 7, он действительно стал быстрее, но недавно замерял как работает HHVM, он рвет PHP 7 по скорости выполнения моего кода раза в 3, но с памяти(на процесс) при этом жрет в 5 раз больше, но я думаю это не проблема в хайлоад проектах.
jit выключи у hhvm :)
 

halva

Новичок
как это нечестно, у php7 нет jit :eek:)
я не про jit вообще, тут типа про что, я взял php7 ночную сборку и взял hhvm, и провел на них один и тот же нагрузочный тест. Если я буду их как-то настраивать, подгонять каждый под лучшие настройки или выравнивать, то и смысл тестирования то теряется.
 

AnrDaemon

Продвинутый новичок
Смысл тестирования теряется, когда тестируются вещи с неизвестными входными параметрами.
 

Vladson

Сильнобухер
Вот честно, до производительности РНР всегда было и будет мне пофигу. Узкие места если и бывали в моей практике, то всегда не на стороне РНР... (чаще всего в набросках, на готовых проектах всё легко оптимизировалось)
 
Сверху