所有 PHP 文件都很慢 - 没有服务器负载

所有 PHP 文件都很慢 - 没有服务器负载

我正在使用 Nginx + PHP5-FPM,通过端口 80 加载的所有 PHP 文件都非常慢 - 甚至一个简单的 phpinfo 文件都需要几分钟才能加载。

通过 shell 执行 php -i 速度非常快,而且服务器本身非常强大,负载很低。

我也尝试过 Apache 和 Litespeed,结果与 Nginx 相同。纯 HTML 文件也非常快。

自断电和硬重启以来,这种情况一直发生。

有谁知道为什么该服务器处理 PHP 文件的速度如此之慢?

答案1

这个不太容易诊断,但如果您没有对库存 php.ini 文件进行任何更改,最好的方法就是对其中一个子 php fpm 进程运行 strace。

首先将 FPM 子项的最大/最小/起始数量减少到 1,然后重新启动 FPM。

获取 FPM 子进程的 PID 并strace -p PID以 root 身份运行。

然后使用浏览器访问缓慢的 PHP 页面并观察 strace 输出以查看进程挂起的位置。它会为您提供 PHP 进行的所有系统调用,您可以查看它是否做了一些愚蠢的事情。

答案2

这是一个长远的目标,但你可能想安装网磨看看执行挂起的位置,它至少可以给你一个暗示至于问题的根源,鉴于它不是立即显现出来的。

webgrind 截图

相关内容