ХабрПостыНовостиМегапосты?

Большое тестирование способов запуска PHP

Я провёл бенчмарки различных серверов и режимов запуска PHP. Что тестировалось:

На каждом сервере было запущено простое приложение на Yii3. Два отдельных эндпоинта и, соответственно, два бенчмарка. Первый — без БД, чистый PHP. Второй реально обращается к PostgreSQL, что ближе к настоящим приложениям.

Некоторые выводы:

  1. Swoole — король производительности! Rapira в режимах dispatcher/worker идёт следом.

  2. FreeUnit отлично подходит, если ваше приложение работает в классическом режиме.

  3. С базой данных разница становится менее заметной. Worker-режим в среднем даёт 2× RPS.

Swoole и Rapira очень эффективны с точки зрения потребления CPU и памяти.

https://yii3-benchmarks.github.io/app-api/

https://github.com/Yii3-Benchmarks/app-api

@SamDark
07.10.2026 21:20 UTC
Первоисточник

Комментарии

@BReal
07.10.2026 16:24 UTC
0

А если у меня почти все сайты - Wordpress?

07.10.2026 16:29 UTC
0

Тогда смотрите на то, что помечено как classic.

08.10.2026 10:34 UTC
0

Попробуй FreeUnit - https://freeunit.dev/

@pae174
07.10.2026 18:52 UTC
+1

А где же наше всё, основа шареного хостинга и всего такого, - Apache + mod_php ?

07.10.2026 19:36 UTC
-1

а зачем?

07.10.2026 19:50 UTC
+4

Для полноты картины.

07.10.2026 22:51 UTC
+2

Да, надо добавить тоже…

08.10.2026 09:06 UTC
+1

Добавил.

@morozovsk
08.10.2026 05:11 UTC
+1

На моих тестах workerman показывал производительность лучше чем swoole где-то на 5%, что мне показалось странным, ведь workerman написан на php с использованием библиотеки libevent и мне казалось, что он должен был быть помедленнее чем расширение для php.

08.10.2026 08:13 UTC
0

О, добавлю тоже.

08.10.2026 09:06 UTC
+1

О, и правда workerman хорош!

@WayMax
08.10.2026 09:25 UTC
+1

И где само сравнение? Графики там, например? О чем эта статья то?

08.10.2026 09:31 UTC
0

Так откройте ссылку.

08.10.2026 11:59 UTC
0

А статья? в чем ее смысл? Зачем она тут?

08.10.2026 12:01 UTC
0

Статья — это прочтение графиков и выводы. Графики удобнее смотреть в полуинтерактивном режиме по ссылке, которого, естественно, не будет, если просто вставить сюда скриншоты. Ну и я постоянно обновляю эти тесты, так что устарело бы очень быстро.

@phpclub
08.10.2026 10:39 UTC
0

Кому интересен FreeUnit https://docs.freeunit.org/ - стучитесь в личку если у вас legacy <8.2 проект - FreeUnit уделывает всех :-) Но лучше его прикрывать https://angie.software/angie/ - чтоб получить http/2 + http/3 из коробки

Run Path Successful RPS Target RPS Normal latency (avg) Normal latency (mean p95) Overloaded latency (avg) Overloaded latency (p95)

  • FreeUnit / 11445 15000 4.80 ms 9.57 ms 4743.17 ms 6877.18 ms

  • FrankenPHP classic / 10562 15000 5.52 ms 17.24 ms 5896.74 ms 8585.22 ms

  • PHP-FPM + Nginx / 10264 15000 7.18 ms 12.03 ms 6326.52 ms 9166.85 ms

  • Rapira classic / 9138 10000 4.67 ms 10.10 ms 2304.96 ms 7647.23 ms

  • Apache + mod_php / 8926 10000 4.60 ms 9.93 ms 1844.82 ms 3108.86 ms

  • OxPHP classic / 8749 10000 5.41 ms 10.79 ms 2470.19 ms 3614.72 ms

@quixyl-eng
09.10.2026 05:21 UTC
0

Workerman и Swoole выдают космические результаты на чистом коде. Но самый отрезвляющий график - это тест с БД, где производительность падает почти в 10 раз и все воркеры выстраиваются в одну линию.