負載和磁碟區塊等待突然達到峰值

負載和磁碟區塊等待突然達到峰值

優秀的伺服器專家您好!

我正在運行一個 Ubuntu 伺服器,該伺服器託管 apache tomcat 服務以及 MySQL 資料庫。即使在一周最繁忙的時間,伺服器負載也始終接近零。儘管如此,我每週都會遇到隨機掛斷 1-2 次,整個伺服器停止回應。

這種鎖定的一個有趣的影響是,所有 cronjobs 似乎都比計劃的執行時間晚,至少各種系統日誌中的時間戳表明了這一點。因此,在我看來,確實是整個伺服器凍結了,而不僅僅是作為 tomcat 服務一部分運行的自訂軟體。掛斷通常會持續約 3-5 分鐘,然後一切都會恢復正常。

Hardware:
Model: Dell PowerEdge R720, 16 cores, 16 GB ram
HDD-configuration: Raid-1 (mirror)

Main services: 
apache tomcat, mysql, ssh/sftp

#uname -a
Linux es2 2.6.24-24-server #1 SMP Tue Jul 7 19:39:36 UTC 2009 x86_64 GNU/Linux

運行 sysstat 我可以看到平均負載和磁碟區塊等待都出現了巨大的峰值,這與客戶報告後端系統問題的時間完全一致。下面是 sar 的磁碟使用圖,在中午 12.30 左右有一個非常明顯的峰值。

對於將其放在外部伺服器上,我深表歉意,但我的代表太低,無法直接在此處包含文件。還必須將它們放在一起,因為我只能發布一個連結:S

Sar 繪圖:http://213.115.101.5/abba/tmpdata/sardata_es.jpg

圖 1:阻止等待,注意 util% 如何在大約 12.58 處上升到 100%

圖2:塊傳輸,這裡沒有什麼異常。

圖 3:平均負載、峰值與圖 1 一起

圖 4:CPU 使用率,仍接近 0%。

圖5:內存,這裡沒有什麼異常

有誰知道什麼可能對系統造成這種影響?正如我之前解釋的,伺服器上運行的唯一軟體是具有 SOAP 介面的 tomcat 伺服器,以允許使用者連接到資料庫。遠端應用程式還透過 SSH 連接到伺服器以向其拉取和上傳檔案。在繁忙的時候,我猜測我們有大約 50 個並發 SSH/SFTP 連接,並且透過 http (soap/tomcat) 的連接不超過 1-200 個。

谷歌搜尋後我發現了有關檔案句柄和 inode 句柄的討論,但我認為這些對於 2.6.x 核心來說是正常的。有人不同意嗎?

cat /proc/sys/fs/file-nr
1152    0       1588671
cat /proc/sys/fs/inode-state
11392   236     0       0       0       0       0

同時「sar -v」顯示了上面掛起時間的這些值,但是這裡的 inode-nr 與上面相比總是非常高。

12:40:01    dentunusd   file-nr  inode-nr    pty-nr
12:40:01        40542      1024     15316         0
12:45:01        40568      1152     15349         0
12:50:01        40587       768     15365         0
12:55:01        40631      1024     15422         0
13:01:02        40648       896     15482         0
13:05:01        40595       768     15430         0
13:10:01        40637      1024     15465         0

我在兩台運行相同硬體、作業系統、軟體、raid 配置等設定的獨立伺服器上看到過這種情況。

非常感謝您抽出時間
/Ebbe

答案1

這些問題與 Ubuntu 8.04 LTS (Hardy) 和 Dell PERC 6/i RAID 控制器之間的不相容問題有關,如以下錯誤中所報告:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/607167 升級到 Ubuntu 10.04 LTS Lucid(核心 2.6.32)可以解決這個問題。

萬一其他人遇到同樣的問題。

答案2

可能您正在執行一些繁重的查詢,該查詢正在進行全表掃描。你檢查過你的慢查詢日誌嗎?

如果是這種情況,只需添加適當的索引即可。

PS:抱歉,如果您已經這樣做了。

相關內容