2012-12-24 198 views
0

我運行一個移動網站獲得在印度的任何列車的實時運行狀態。這是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

回答

2

釷%的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