🚀
Тюнинг производительности PHP-FPMПравильная настройка PHP-FPM имеет решающее значение для эффективного использования ресурсов сервера. Вот несколько ключевых параметров для оптимизации производительности:
🔧
Основные параметры:pm = dynamicУправляет количеством рабочих процессов. В режиме
dynamic количество процессов изменяется в зависимости от нагрузки сервера.
pm.max_children = 1000Максимальное количество рабочих процессов. Высокие значения могут привести к ошибкам из-за нехватки памяти. Пример: для 1000 процессов × 100MB/процесс потребуется 100GB RAM.
pm.start_servers = 80Количество процессов, которое будет запущено при старте PHP-FPM для быстрой обработки начальной нагрузки.
pm.min_spare_servers = 40Минимальное количество «запасных» процессов, которые должны оставаться в ожидании.
pm.max_spare_servers = 120Максимальное количество неактивных процессов. Если их больше, лишние процессы будут завершаться.
request_terminate_timeout = 300sОграничение времени для запроса — если выполнение длится более 5 минут, процесс будет завершен.
request_slowlog_timeout = 5sВсе запросы, которые выполняются более 5 секунд, записываются в лог для анализа производительности.
📊
Рекомендации:Для серверов с меньшим объёмом памяти, например 8GB RAM, настройте:
pm = dynamicpm.max_children = 50pm.start_servers = 10pm.min_spare_servers = 5pm.max_spare_servers = 20Эти настройки обеспечат баланс между производительностью и безопасностью, сохраняя ресурсы для других служб.
👉
Поделитесь этим постом с коллегами!
🔗 Ссылка на статью Библиотека пхпшника