DB運作産生太多的磁盤IO的話,性能肯定會受到影響。可以借助zabbix這樣的工具進行磁盤IO的監測,或者自己動手都可以。
我們可以從proc/diskstats中直接擷取資訊:
sda為整個硬碟的統計資訊
sda1為第一個分區的統計資訊
sda2為第二個分區的統計資訊。
資訊依次為:
1、major 主裝置号
2、minor 磁盤次裝置号
3、name 磁盤的裝置名
4、rio 讀請求總數
5、rmerge 合并的讀請求總數
6、rset 讀扇區總數
7、讀資料花費的時間,機關ms
8、wio寫請求總數
9、wmerge 合并的寫請求總數
10、wset 寫扇區總數
11、寫資料花費的時間
12、現在正在進行的IO數等于IO隊列中請求數
13、系統真正花費在IO上的時間,減去重複等待時間
14、系統花費在IO上花費的時間。
要計算某塊磁盤的IOPS的話,隻需要将第4列和第8列的值相加。
監控代碼:
監控輸出:
對于DB伺服器 可以考慮将日志檔案和資料檔案放到不同的磁盤,這樣就可以分别監控 日志和 資料的IOPS。這個可以參考:http://keeland.org/?p=45
對于DB所使用的磁盤,我們還應該監測其IO使用率,可以通過IOSTAT 進行。
本文轉自 位鵬飛 51CTO部落格,原文連結:http://blog.51cto.com/weipengfei/982233,如需轉載請自行聯系原作者