Я провёл бенчмарки различных серверов и режимов запуска PHP. Что тестировалось:
-
PHP-FPM + Nginx
-
FrankenPHP (классический и worker-режим)
-
Rapira (классический, worker, dispatcher)
-
OxPHP (классический, worker)
-
RoadRunner
-
FreeUnit
-
Swoole
На каждом сервере было запущено простое приложение на Yii3. Два отдельных эндпоинта и, соответственно, два бенчмарка. Первый — без БД, чистый PHP. Второй реально обращается к PostgreSQL, что ближе к настоящим приложениям.
Некоторые выводы:
-
Swoole — король производительности! Rapira в режимах dispatcher/worker идёт следом.
-
FreeUnit отлично подходит, если ваше приложение работает в классическом режиме.
-
С базой данных разница становится менее заметной. Worker-режим в среднем даёт 2× RPS.
Swoole и Rapira очень эффективны с точки зрения потребления CPU и памяти.
ссылка на оригинал статьи https://habr.com/ru/articles/1091712/