PHP-FPM тормозит WordPress чаще из-за пула, чем из-за самого PHP
Если сайт на WordPress «тупит» под нагрузкой, первым делом смотрите не в код, а в настройки PHP-FPM. Типовые ошибки: слишком маленький pm.max_children, один пул на все сайты и слишком длинный request_terminate_timeout. В итоге одни процессы висят, другие ждут в очереди, а нагрузка растёт даже на простых страницах.
Базовая схема такая: каждому тяжёлому сайту — отдельный пул; для него задайте лимит детей под реальную память, а не «с запасом». Если на сервере мало RAM, лучше меньше процессов, но без свопа. Для дешёвого хостинга полезнее pm = ondemand, для стабильной нагрузки — dynamic с умеренным pm.max_spare_servers.
Проверяйте и сокеты: если PHP-FPM слушает через TCP без причины, вы добавляете лишнюю задержку. На локальной связке nginx + PHP-FPM обычно быстрее UNIX-socket. Ещё один частый источник проблем — логи: по ним видно, где запросы упираются в таймауты, а где процесс просто ждёт медленную БД.
Хорошая настройка PHP-FPM не ускоряет плохой код, но убирает лишние очереди, своп и ложные «тормоза».
Серверное администрирование WordPress
@wp_server_ops_ww
PHP-FPM тормозит WordPress чаще из-за пула, чем из-за самого PHP
Этот пост опубликован в Telegram-канале Серверное администрирование WordPress. Подписаться можно по ссылке: @wp_server_ops_ww.