Выяснив с помощью blackfire, что большую часть времени занимает подключение файлов, попробуем всё тоже самое на php7, тем более - он сильно оптимизирован. Аж в 2 раза!
Протестим скорости в один поток для начала
ab -n 10000 %url%
Symfony3
Concurrency Level: 1
Time taken for tests: 53.361 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 4140000 bytes
HTML transferred: 1970000 bytes
Requests per second: 187.40 [#/sec] (mean)
Time per request: 5.336 [ms] (mean)
Time per request: 5.336 [ms] (mean, across all concurrent requests)
Transfer rate: 75.77 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 3 47.5 0 1001
Processing: 2 3 0.2 3 9
Waiting: 2 3 0.2 3 9
Total: 3 5 47.6 3 1004
Percentage of the requests served within a certain time (ms)
50% 3
66% 3
75% 3
80% 3
90% 3
95% 3
98% 3
99% 3
100% 1004 (longest request)
Результаты yii2:
Concurrency Level: 1
Time taken for tests: 21.935 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 3440000 bytes
HTML transferred: 1990000 bytes
Requests per second: 455.88 [#/sec] (mean)
Time per request: 2.194 [ms] (mean)
Time per request: 2.194 [ms] (mean, across all concurrent requests)
Transfer rate: 153.15 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 17.3 0 1000
Processing: 1 2 0.1 2 3
Waiting: 1 2 0.1 2 3
Total: 2 2 17.3 2 1002
Percentage of the requests served within a certain time (ms)
50% 2
66% 2
75% 2
80% 2
90% 2
95% 2
98% 2
99% 2
100% 1002 (longest request)
Теперь нагрузим в 50 потоков
Симфони:
Concurrency Level: 50
Time taken for tests: 9.383 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 4140000 bytes
HTML transferred: 1970000 bytes
Requests per second: 1065.72 [#/sec] (mean)
Time per request: 46.917 [ms] (mean)
Time per request: 0.938 [ms] (mean, across all concurrent requests)
Transfer rate: 430.87 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 3
Processing: 5 47 3.4 46 70
Waiting: 5 47 3.4 46 70
Total: 6 47 3.4 46 70
Percentage of the requests served within a certain time (ms)
50% 46
66% 47
75% 47
80% 48
90% 50
95% 55
98% 57
99% 57
100% 70 (longest request)
Тоже для yii
Concurrency Level: 50
Time taken for tests: 3.116 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 3440000 bytes
HTML transferred: 1990000 bytes
Requests per second: 3209.72 [#/sec] (mean)
Time per request: 15.578 [ms] (mean)
Time per request: 0.312 [ms] (mean, across all concurrent requests)
Transfer rate: 1078.27 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 2
Processing: 4 15 1.9 15 35
Waiting: 4 15 1.9 15 35
Total: 4 16 1.9 15 35
Percentage of the requests served within a certain time (ms)
50% 15
66% 15
75% 16
80% 16
90% 16
95% 17
98% 23
99% 27
100% 35 (longest request)
Получаем что при хорошей такой нагрузке php7 даёт такие результаты
Симфони 5.6, 23.8 с на всё время теста и 120мс на 1 запрос
Симфони 7 9.3 с, 47мс
Yii 5.6 7.7с, 38мс
Yii 7 3.2с, 15мс
Уии на php5 быстрее симфони3 на php7. (на php7 немного другой набор расширений)
По потребляемой памят
С5.6 - 2486184
С7 - 1955816
У5.6 - 950000
У7 - 1073216
Но всё это - чистая синтетика - простое echo. Надо сравнить с примером, когда будет запрос в базу или другой сервис (кэш). Продолжение следует
Протестим скорости в один поток для начала
ab -n 10000 %url%
Symfony3
Concurrency Level: 1
Time taken for tests: 53.361 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 4140000 bytes
HTML transferred: 1970000 bytes
Requests per second: 187.40 [#/sec] (mean)
Time per request: 5.336 [ms] (mean)
Time per request: 5.336 [ms] (mean, across all concurrent requests)
Transfer rate: 75.77 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 3 47.5 0 1001
Processing: 2 3 0.2 3 9
Waiting: 2 3 0.2 3 9
Total: 3 5 47.6 3 1004
Percentage of the requests served within a certain time (ms)
50% 3
66% 3
75% 3
80% 3
90% 3
95% 3
98% 3
99% 3
100% 1004 (longest request)
Результаты yii2:
Concurrency Level: 1
Time taken for tests: 21.935 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 3440000 bytes
HTML transferred: 1990000 bytes
Requests per second: 455.88 [#/sec] (mean)
Time per request: 2.194 [ms] (mean)
Time per request: 2.194 [ms] (mean, across all concurrent requests)
Transfer rate: 153.15 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 17.3 0 1000
Processing: 1 2 0.1 2 3
Waiting: 1 2 0.1 2 3
Total: 2 2 17.3 2 1002
Percentage of the requests served within a certain time (ms)
50% 2
66% 2
75% 2
80% 2
90% 2
95% 2
98% 2
99% 2
100% 1002 (longest request)
Теперь нагрузим в 50 потоков
Симфони:
Concurrency Level: 50
Time taken for tests: 9.383 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 4140000 bytes
HTML transferred: 1970000 bytes
Requests per second: 1065.72 [#/sec] (mean)
Time per request: 46.917 [ms] (mean)
Time per request: 0.938 [ms] (mean, across all concurrent requests)
Transfer rate: 430.87 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 3
Processing: 5 47 3.4 46 70
Waiting: 5 47 3.4 46 70
Total: 6 47 3.4 46 70
Percentage of the requests served within a certain time (ms)
50% 46
66% 47
75% 47
80% 48
90% 50
95% 55
98% 57
99% 57
100% 70 (longest request)
Тоже для yii
Concurrency Level: 50
Time taken for tests: 3.116 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 3440000 bytes
HTML transferred: 1990000 bytes
Requests per second: 3209.72 [#/sec] (mean)
Time per request: 15.578 [ms] (mean)
Time per request: 0.312 [ms] (mean, across all concurrent requests)
Transfer rate: 1078.27 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 2
Processing: 4 15 1.9 15 35
Waiting: 4 15 1.9 15 35
Total: 4 16 1.9 15 35
Percentage of the requests served within a certain time (ms)
50% 15
66% 15
75% 16
80% 16
90% 16
95% 17
98% 23
99% 27
100% 35 (longest request)
Получаем что при хорошей такой нагрузке php7 даёт такие результаты
Симфони 5.6, 23.8 с на всё время теста и 120мс на 1 запрос
Симфони 7 9.3 с, 47мс
Yii 5.6 7.7с, 38мс
Yii 7 3.2с, 15мс
Уии на php5 быстрее симфони3 на php7. (на php7 немного другой набор расширений)
По потребляемой памят
С5.6 - 2486184
С7 - 1955816
У5.6 - 950000
У7 - 1073216
Но всё это - чистая синтетика - простое echo. Надо сравнить с примером, когда будет запрос в базу или другой сервис (кэш). Продолжение следует