.php-fpm-bin 占用100% CPU。如何跟踪导致此问题的确切脚本?

3

我正在托管一个WordPress博客,自6月5日以来,我的CPU负载一直为100%(从5%上升),托管在AWS上。

enter image description here

现在,我已经添加了许多插件,主要是每个用户每次页面加载执行20个mysql查询的插件。问题是我添加了许多脚本,没有意识到负载,并且无法禁用它们。
理想情况下,我会更改代码,以恢复CPU负载。

如果您在top中按下“c”,它会显示有关命令的更多详细信息。这对您有用吗? - rickdenhaan
php-fpm:WordPress池 - GRS
可能会有所帮助:https://www.ecenica.com/support/answer/fix-high-cpu-load-wordpress/。不幸的是,我不知道如何通过内部PHP进程来分解CPU。 - aynber
我已经阅读了,但它没有帮助 :( - GRS
我不能告诉你这个脚本的确切作用,但是我在谷歌计算引擎实例上遇到了同样的问题,该实例提供了Bitnami WordPress应用程序。我通过重新启动PHP-FPM来解决了这个问题:/opt/bitnami/ctlscript.sh restart php-fpm - Dima Gimburg
2个回答

5

我曾经在使用WordPress的网站中看到这种情况,特别是在有很多插件的网站上,这个问题通常是由wp-cron.php引起的。它是一个伪cron作业,每次请求都会运行,随着时间的推移,这些作业可能会排队在一起,永远无法在下一轮开始之前完成,并导致CPU失控。

您可以通过在wp-config.php中添加以下内容来禁用此功能:

define('DISABLE_WP_CRON', true);

然而,这将阻止某些依赖它的功能正常工作。因此,您可以在服务器上添加一个 cron 每 5 分钟运行一次:

*/5 * * * * wget -q -O - "http://example.com/wp-cron.php" > /dev/null 2>&1

如果您不熟悉cron,可以在服务器控制台中运行 crontab -e 来添加任务。


不幸的是,这也没有帮助。 - GRS

3
你很可能难以从上面找到问题所在。你可以安装NewRelic应用程序监控PHP。这将突出显示缓慢的事务,并使您更好地了解是什么导致了高负载。
我与NR没有任何关系,但在我的所有服务器/应用程序上都使用它来取得良好的效果。我相信你可以免费尝试14天,无需信用卡。
抱歉,这不是具体回答您的问题,但希望能帮助您找到问题的根源。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接