說到一台 VPS 虛擬主機的負載能力時,就要看 Linux 的 Load Average 的數值,要查看 Load Average 有幾個不同的方法,最簡單的方法是執行 update 指令,系統會返回一行信息,例如:load average: 0.00, 0.08, 0.52。
內容目錄:
load average
Linux 的 Load Average 的數字代表有多少個 process 在等待 CPU 及 Disk I/O 等資源運算。
簡單來說,這是在等待某些事情,某個時間內平均運行隊列中的阻塞進程數。

load average: 0.00, 0.08, 0.52 代表的意思:
CPU 平均負戴:0.00 (1 分鐘),0.08 (5 分鐘),0.52 (15 分鐘)
對於一台只有一個核心的單處理器系統,以 Load Average 15 分鐘來看,若為 1.00 時表 CPU 滿負載運行,1.50 時表示 CPU 超載 50%,如果是 0.8,表示 CPU 並未超載,只用了 80%。
並且值越小越好,數值越大,可能就表明 VPS 伺服器有問題或者已經是高負載了。
如何檢視 load average
上面說到 CPU 負載值 load average: 0.00, 0.08, 0.52,那我們要參考哪個呢?
1 分鐘和 5 分鐘內系統負載較高可能是暫時波動,如果 15 分鐘的平均負載值,一直處於一個較高數值時就需要注意了,即時查看問題,以保持我們的 VPS 虛擬主機運行順暢。
VPS 可承受的負載
實際代管 VPS 案例中,最常被問到一個問題,一台 VPS 虛擬主機,可以安裝多少個網站。
這個問題,根本沒有答案。
有的 2G VPS 跑 2 至 3 個網站順順的,有的 4G VPS 只能跑 1 個網站,沒有一定的標準。
這完全要看網站設計師或網站本身主人,對建置一個網站的觀念是否正確來判斷了。
以 WordPress 來說,其優點是有許多的外掛程式可使用,可以讓 WordPress 建置成各種功能性網站,但是,敗也是這些外掛,造成外掛之間的衝突,增加了主機 CPU 的負載,網站運行緩慢。
一台 4G RAM CPU 2 核心的 VPS 主機,建置 10 個網站,在沒有任何流量之下,只進入 WordPress 控制台建置網站時,因外掛的使用不正確,造成主機高負載,load average 平均 15 分鐘高達 6.86,已面臨快當機狀態了,而開啟一個網頁時間,需要 10 ~ 15 秒的時間,如下圖:

如果,這是一個開始生產的網站,不用 30 個 IP 流量進入,這個階段,還沒有到處理高流量的優化時,這台 VPS 主機應該會馬上崩潰 (當機)。
VPS 高負載處理
當設計師不當使用外掛時,最快的處理方法,安裝 Query Monitor 外掛,找出衝突或拖慢系統的外掛,將它停用。

這些問題外掛停用後,主機的負載就會慢慢恢復正常,網頁開啟的速度就會正常。
最終的問題,還是要回歸到設計師 (網站建置者) 是否可以精簡使用外掛,安裝「必要」的外掛。
結語
「必要的外掛」有點太廣泛,您可以說每個外掛都是必要性,不可停用,結果就是再加大 VPS 主機效能,升級至 8G / CPU 4 核心或 16G 以上的主機,花更多的主機託管費用,這就考驗網站建置者的經驗、專業了。
load average 的高負載,不一定都是外掛造成的,但是外掛用的適宜,卻是一個很重要的因素。
您對 load average 的看法是什麼? 歡迎利用回覆告訴我!
Photo by Adli Wahid on Unsplash
Hi Yungke!
請問不常用的外掛,平時不啟用,需要時再啟動,您建議嗎?
不常用到的外掛,就關閉或移除,記得有更新時,還是要去更新它。
感謝分享。覺得站長這句”但是外掛用的適宜,卻是一個很重要的因素”講得很棒,真的有需要用的外掛再安裝就好了。
我看過不少網站外掛數量達 100 個上下,這意味著客戶的需求真的很多,這時應該以客製化方向著手,而不是找更多的外掛來符合客戶的需求。
想想看,這麼多的外掛,而又不是同一個開發商的外掛,要在 WordPress 下外掛都和平相處,那是多難啊~
「多核 CPU 意味著系統的處理能力翻 N 倍」
其實這句話實際上不會成立,會翻倍,但翻倍程度為 < N 倍