调试Azure WebApp(Linux)中的高CPU使用率

时间:2018-03-17 13:59:53

标签: azure docker azure-web-app-service

我已经设置了一个Azure WebApp(Linux)来运行WordPress和其他手工制作的PHP应用程序。一切正常,但我得到了这个奇怪的CPU使用率图(见下文)。

这两个应用程序都是PHP7.0容器。

SSH连接到两个容器并使用顶部我看到没有异常的CPU占用过程。

当我重置两个应用程序时,CPU恢复正常,然后开始缓慢升起,如下所示。

对应用程序的HTTP请求数量根本与CPU使用率无关。

我尝试使用apache2ctl查看是否有任何待处理的请求,但似乎无法在docker容器中执行。

有人知道如何找出原因吗?

CPU usage

这是最高输出。该实例有2个核心。大量空闲时间但仍然超过100%负载且没有任何进程使用CPU ...

enter image description here

2 个答案:

答案 0 :(得分:0)

在处理完该问题的MS支持后,似乎已经归结为WordPress主题是缓慢或低效。每个请求都耗费了很长时间并占用了大量CPU资源。所有后续请求都开始排队,从而增加了CPU负载。

为什么这不显示为顶部的%CPU我没有解释。

他们建议对多核实例使用不同的主题或高档。

我对这个解决方案不满意,并会进一步监控,并试图找到真正的罪魁祸首。

答案 1 :(得分:0)

尽管有一个Node.JS应用而非PHP,但我的CPU百分比图表几乎与您完全相同。 Disabling Diagnostic Logs > Docker Container Logging似乎已经为我解决了这个问题。

Docker Container Logging

我不需要这些日志,因为我正在记录应用程序见解。

但是,在您的情况下,您可能需要更多这些日志。我没有解决方案,但是我猜想原木旋转较重或通过其他方法减小原木的大小可能会有所帮助