Налаштування PHP-FPM: пули, воркери та оптимізація продуктивності

PHP · 19.04.2026
Налаштування PHP-FPM: пули, воркери та оптимізація продуктивності

Що таке PHP-FPM і навіщо його налаштовувати

PHP-FPM (FastCGI Process Manager) — менеджер процесів PHP, який запускає PHP як окремий сервіс. У зв'язці з Nginx він забезпечує високу продуктивність: Nginx обробляє статику, а PHP-FPM — динамічні запити. Правильне налаштування PHP-FPM дозволяє обслуговувати в 2–5 разів більше запитів без збільшення RAM.

Файл конфігурації пулу

Основний файл пулу знаходиться в /etc/php/8.x/fpm/pool.d/www.conf:

sudo nano /etc/php/8.2/fpm/pool.d/www.conf

Режими управління процесами (pm)

РежимОписКоли використовувати
staticФіксована кількість процесівВисококлієнтні сервери
dynamicКількість процесів змінюєтьсяБільшість VPS (рекомендовано)
ondemandПроцеси створюються за запитомМалий трафік, економія RAM

Оптимальні значення pm для dynamic

pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 3
pm.max_spare_servers = 8
pm.max_requests = 500
Формула розрахунку pm.max_children: Розділіть доступну RAM на середній розмір одного PHP-процесу. Приклад: 2 ГБ RAM, середній процес 80 МБ → max_children ≈ 25.

Slow Log — аналіз повільних скриптів

slowlog = /var/log/php8.2-fpm-slow.log
request_slowlog_timeout = 5s

Застосування налаштувань

sudo systemctl reload php8.2-fpm
Не перезапускайте PHP-FPM під час високого навантаження — використовуйте reload.
← Назад до бази знань Поставити питання підтримці