![使用 php-cgi 查找哪些 php 脚本导致 CPU 使用率过高](https://linux22.com/image/514106/%E4%BD%BF%E7%94%A8%20php-cgi%20%E6%9F%A5%E6%89%BE%E5%93%AA%E4%BA%9B%20php%20%E8%84%9A%E6%9C%AC%E5%AF%BC%E8%87%B4%20CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%E8%BF%87%E9%AB%98.png)
背景:我为一个客户维护一台服务器,该客户有六个 Wordpress 网站。它们都安装了 W3 Total Cache 插件和 eAcellerator(可能是 APC)。
所有 PHP 站点都通过一批 fastcgi php-cgi 进程运行(实际上是 php-fpm,但我不确定是否有区别),并将其输入到 nginx。
问题:php-cgi 的 CPU 使用率相当高。虽然不是特别高,但足以让人惊讶。客户希望将来添加更多网站,如果可以的话,我希望避免 CPU 受限。
问题:有什么方法可以找到导致 CPU 使用率过高的脚本或请求吗?我意识到我可能无法对结果做任何事情,但这会给我一个机会。
答案1
你之前有很多检查才有机会。首先。任何 php 程序员都可以比你更快更好地找到高 CPU 使用率的原因。除非你接触代码进行调试。
这里有一些线索可以帮助您理解这一点。它可能是由安装的任何 Wordpress 插件引起的。逐个检查服务器上的每个 WP 安装,如果它们都是不同的安装,则查看哪个是罪魁祸首。通常,默认安装的 wordpress 从不使用高 CPU。也许更多的 RAM 会受到影响。但不是 CPU。如果它们是类似的安装,请检查您的 EAccelerator。试试不用它。如果没有,通过 phpinfo() 文件检查 php 上默认激活的所有 php 扩展。尝试停用您永远不需要的扩展。您可以看到通过 php-cli 执行获得了多少资源。 http://php.net/manual/en/features.commandline.php...
如果它们都不起作用,您可以调试代码。一些测试类和套件在网上是开源的。您可以轻松找到它们。