PHP-FPM ломает сайт чаще всего не кодом, а очередью и лимитами
PHP-FPM — это пул воркеров, который обрабатывает запросы к WordPress. Если воркеров мало, запросы встают в очередь; если их слишком много, упираетесь в RAM и получаете своп, лаги и внезапные 502.
Что проверять в первую очередь:
— pm = ondemand или dynamic: первый экономит память, второй предсказуемее под нагрузкой.
— pm.max_children: слишком низкое значение дает очередь, слишком высокое — съедает память.
— pm.max_requests: полезен, если пулы со временем раздуваются по памяти.
— slowlog: помогает найти не “плохой сервер”, а конкретный медленный PHP-код.
Для WordPress частая ошибка — считать, что проблема в PHP-FPM, хотя реальный тормоз сидит в плагине, тяжелом запросе к БД или отсутствии object cache. Сначала смотрите на статус пула и время ответа, потом уже увеличивайте лимиты.
Если сайт начинает “задумываться” под нагрузкой, не лечите это бесконечным ростом pm.max_children. Сначала измерьте потребление памяти одного воркера и оставьте запас для MySQL, Redis и системы — тогда PHP-FPM будет ускорять сайт, а не добивать сервер.
Серверное администрирование WordPress
@wp_server_ops_ww
PHP-FPM ломает сайт чаще всего не кодом, а очередью и лимитами
Этот пост опубликован в Telegram-канале Серверное администрирование WordPress. Подписаться можно по ссылке: @wp_server_ops_ww.