高CPU负载,但低CPU使用率和内存使用率

高CPU负载,但低CPU使用率和内存使用率

问题描述:

我运行一个移动网站获得在印度的任何列车的实时运行状态。这是http://www.spoturtrain.com。完整的代码用PHP编写,Nginx用作网络服务器,php-fpm用作应用服务器。所有的PHP请求代理到应用服务器。在早上的高峰时段,系统负载最高可达4,但CPU%和内存使用率较低。请看一下服务器顶部命令的快照。在底部部分上显示高CPU负载,但低CPU使用率和内存使用率

enter image description here

+2

什么是你的问题?你有什么问题吗? –

+0

有多少个处理器/内核可用?对于最大负载的经验法则是,大于* procs数量的*大于*的负载意味着它被超载。所以,如果你有4个内核,负载从3-4开始盘旋,那么即使它不是你想要的,也没有什么可怕的错误。还要看爱荷华州。 – Charles

+0

@Charles在我的情况下,CPU只有一个核心。 – pikini

钍%的CPU是每线程,这意味着一个CPU核心通过所指示的线程使用的百分比。的CPU(多个)部分表示正在使用的可用CPU的总量,所以它可能有一个线程报告它正在使用100%的CPU,而只有25%(4芯)或12.5%(8芯)的整个CPU周期正在消耗。

Analyzing thread CPU usage on Linux

你真的不问一个问题,所以这是很难说,如果你想要一些建议或只是要求有数字解释。作为@Charles状态,典型的“可接受的”负荷是1每个CPU核心性能明显下降之前发生,但在PHP的情况下,对大多数Web服务器上运行,你可以(但可能不会在大多数情况下)在开始注意到问题高于1的任何内容。不管你是否做,很大程度上取决于你的磁盘和网络I/O。

无论性能为您的应用程序可以接受的不是我能回答,但你可以看看这个线程更多的地方跳进让你的Web服务器线程的请求的选项。

What is thread safe or non thread safe in PHP

是否存在关于它取决于你的托管情况下,你可以做任何事情。

+0

我的问题是为什么我的系统负载在高峰时间更大。我的应用程序不是CPU密集型的。它执行网络I/O(API)调用来获取数据。就这样。 – pikini

+1

系统负载较高,因为系统正在做更多工作。这或多或少是什么负载措施。 –

+0

@DavidSchwartz我知道我的系统正在做更多的工作。我的问题是为什么? – pikini