Linux

在 Linode VPS 中執行 Courier IMAP 時出現奇怪的負載問題

  • June 12, 2009

所以…我在我們的電子郵件伺服器上看到了一些非常奇怪的負載問題。它在早上 8 點到 9 點左右開始飆升(巧合的是人們開始工作的時間),但在上午 11 點左右開始下降。CPU使用率保持正常,我有足夠的可用記憶體,沒有交換。昨天我們有一個非常高的 iowait% (49.75) 和非常高的負載 (40),今天我們“只”有 11-12 的負載,iowait% 在 3-4 之間。

所有跡像都指向 imapd 是罪魁禍首(courier-imap),因為當我停止它時,負載突然開始降低,並在 2-3 分鐘內恢復正常。我確實有大約 40-60 個在​​執行。我們使用雷鳥,每個打開 5 個連接,我在大多數工作站上將其降低到 1,它有所幫助(負載下降到 5-7),然後……整個伺服器在上午 11 點左右恢復正常。

我仍然有大約 30 個 imapds 正在執行,但負載完全正常(介於 0.2 和 0.4 之間)。所以……我真的不明白為什麼會發生這種情況,因為從邏輯上講,如果這會是問題的原因,它應該更高。

這是具有 1gig ram 的 Linode 1080 VPS。

(chkrootkit / rkhunter 沒有表現出任何異常。)

如果您使用 VPS,您將與您的 VPS 不可見的其他使用者共享 IO 頻寬、CPU 時間和記憶體頻寬。

我可以自信地說,託管在物理機上的另一個 domU 正在消耗大量的一個或多個這些資源(很可能是 IO)。

如果您使用iostat -x,您可能會發現您的服務時間波動很大,這將解釋為什麼您的平均負載會因為磁碟 IO 上的程序阻塞而飆升。

據我了解,*nix 系統上的負載意味著“等待執行的程序數”。這並不一定意味著他們正在等待 CPU。他們可能正在等待磁碟訪問或網路連接完成。

例如,我曾經管理過一個系統,其中負載開始飆升至 80 以上,有時會導致系統爬行。最終是因為外部 LDAP 伺服器出現故障,本地系統正在針對客戶端執行身份驗證請求。

如果您的 CPU 和 iowait 看起來不錯,我會尋找您的應用程序具有的網路依賴關係,這可能是異常高負載讀數的罪魁禍首。

引用自:https://serverfault.com/questions/24680