PHP-FPM Linux

PHP-FPM: как включить slowlog и найти медленные скрипты

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

request_slowlog_timeout записывает трассировку медленных запросов. Включите slowlog в пуле и анализируйте найденные функции.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Проверка результата

#Что означает ошибка

Сообщение
Медленные скрипты

request_slowlog_timeout записывает трассировку медленных запросов. Включите slowlog в пуле и анализируйте найденные функции.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Не включён slowlogПрочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации.Включите. Посмотрите соответствующие настройки и журнал сервиса.
Нет правСравните полномочия текущей учётной записи и доступность нужной функции; на рабочем компьютере политики задаёт администратор.Определите владельца и права нужного объекта; выдавайте только необходимые разрешения, не отключая защитные механизмы.
Тяжёлый запросПрочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации.Оптимизируйте.
Внешний APIПрочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации.Кэшируйте.

#Пошаговое решение

  1. Включите slowlogСначала выясните действующую версию PHP-FPM и пул нужного сайта в панели хостинга или по настройкам веб-сервера. Найдите файл пула и сделайте его резервную копию. Slowlog ведётся на уровне пула; изменение чужой версии PHP не покажет запросы вашего сайта.
  2. Задайте timeoutВ конфигурации проверяемого пула задайте request_slowlog_timeout = 5s и slowlog = /защищённый/путь/имя-пула-slow.log, выбрав порог под обычное время работы сайта. Проверьте существование каталога и права записи службе; журнал с путями и фрагментами вызовов не должен находиться в публичном каталоге.
  3. Анализируйте трассировкиПеред применением выполните проверку конфигурации используемого PHP-FPM, например sudo php-fpm8.3 -t для PHP 8.3, затем согласованную перезагрузку лишь нужной службы. Воспроизведите медленный запрос и следите за журналом tail -f, не генерируя чрезмерную нагрузку.
  4. Проверьте альтернативу: внешний apiНайдите повторяющиеся стек вызовов и соотнесите их с SQL, внешними API или конкретным расширением CMS. После устранения узкого места повторите запрос и сравните время ответа. Снизьте подробность или отключите временный slowlog, если он больше не нужен, и ограничьте срок хранения файла.

#Проверка результата

Для «PHP-FPM: как включить slowlog и найти медленные скрипты» выполните штатную проверку конфигурации, затем один контрольный запрос к сервису. Сверьте его результат с журналом и убедитесь, что пользователи не получили новых ответов 4xx или 5xx после изменения.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.