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

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

php -i over shell非常快,而且服务器本身非常强大,负载非常低。

我也尝试了Apache和Litespeed,结果与Nginx相同。 扁平的HTML文件也非常快。

这是自停电和硬重启之后发生的。

有没有人有任何想法,为什么这个服务器可以如此缓慢的PHP文件处理?

这一个不容易诊断,但是如果你没有改变股票php.ini文件,最好的办法是对一个php fpmsubprocess运行strace。

首先将FPM儿童的最大/最小/起始数降低到1,然后重新启动FPM。

抓取FPMsubprocess的strace -p PID以root身份运行strace -p PID

然后用浏览器打开缓慢的PHP页面,观察strace输出,看看你的处理过程在哪里挂起。 它会给你所有的PHP系统调用,你可以看到它是否做了一些愚蠢的事情。

这是一个很长的路要走 ,但是你可能想要安装webgrind,并且看看执行挂起的地方,至less可以给你提示问题的根源,因为这个问题不是很明显。

webgrind截图