高CPU负载,但低CPU使用率和内存使用率
问题描述:
我运行一个移动网站获得在印度的任何列车的实时运行状态。这是http://www.spoturtrain.com。完整的代码用PHP编写,Nginx用作网络服务器,php-fpm用作应用服务器。所有的PHP请求代理到应用服务器。在早上的高峰时段,系统负载最高可达4,但CPU%和内存使用率较低。请看一下服务器顶部命令的快照。在底部部分上显示高CPU负载,但低CPU使用率和内存使用率
答
钍%的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
是否存在关于它取决于你的托管情况下,你可以做任何事情。
什么是你的问题?你有什么问题吗? –
有多少个处理器/内核可用?对于最大负载的经验法则是,大于* procs数量的*大于*的负载意味着它被超载。所以,如果你有4个内核,负载从3-4开始盘旋,那么即使它不是你想要的,也没有什么可怕的错误。还要看爱荷华州。 – Charles
@Charles在我的情况下,CPU只有一个核心。 – pikini