Назад | Перейти на главную страницу

Все файлы PHP медленные - сервер не загружен

Я использую Nginx + PHP5-FPM, и все файлы PHP, загружаемые через порт 80, работают очень медленно - они загружаются несколько минут, даже простой файл phpinfo.

php -i over shell работает молниеносно, а сам сервер довольно мощный и имеет очень низкую нагрузку.

Я также пробовал Apache и Litespeed с теми же результатами, что и Nginx. Плоские файлы HTML также работают очень быстро.

Это происходит после отключения электроэнергии и жесткой перезагрузки.

У кого-нибудь есть идеи, почему этот сервер может так медленно обрабатывать файлы PHP?

Это нелегко диагностировать, но лучший способ сделать это, если вы НЕ внесли изменений в стандартный файл php.ini, - запустить strace против одного из дочерних процессов php fpm.

Сначала уменьшите максимальное / минимальное / начальное количество дочерних элементов FPM до 1 и перезапустите FPM.

Возьмите PID дочернего процесса FPM и запустите strace -p PID как корень.

Затем перейдите на медленную страницу PHP в своем браузере и посмотрите вывод strace, чтобы увидеть, где зависает ваш процесс. Он предоставит вам все системные вызовы, сделанные PHP, и вы сможете увидеть, делает ли он что-то глупое.

Это долгий путь, но вы можете установить webgrind и посмотрите, где зависает казнь, это может, по крайней мере, дать вам намек что касается источника проблемы, учитывая, что он не сразу очевиден.