iostat http://sebastien.godard.pagesperso-orange.fr/man_iostat.htmlhtml
以上圖爲例查看sdb的IO狀況ios
r/s + w/s: 就是當前的IOPS #### (93+0=93) 算法
avgrq-sz:平均每次設備I/O操做的數據大小(扇區)#### (248.0)ide
avgqu-sz :平均I/O隊列長度 ####(0.10)性能
await:請求隊列中等待時間+svctm(服務時間) 單位是毫秒,按照每次IO平均。####(1.06)優化
The average time (in milliseconds) for I/O requests issued to the device to be served.this
This includes the time spent by the requests in queue and the time spent servicing them.orm
svctm:平均每次設備I/O操做的服務時間(毫秒) ####(1.06)htm
svctm已經被官方註明不可信,僅供參考.由於iostat各值基本都是計算出來的,而svctm計算方法存在錯誤的地方blog
The average service time (in milliseconds) for I/O requests that were issued to the device.
Warning! Do not trust this field any more. This field will be removed in a future sysstat version.
%util: (bandwidth utilization for the device)平均有百分之多少的時間用於I/O操做,或者說有多少時間I/O隊列是非空的###(9.90)
若是%util接近100%,代表I/O請求太多,I/O系統已經滿負荷,磁盤可能存在瓶頸,通常%util大於70%,I/O壓力就比較大,讀取速度有較多的wait。
注意:若是存儲設備是RAID或SSD之類的,這個說法已經不許確了
能夠結合vmstat查看查看b值(等待資源的進程數)和wa值(I/O等待所佔用的CPU時間的百分比,高過30%時I/O壓力高)
Percentage of elapsed time during which I/O requests were issued to the device (bandwidth utilization for the device).
Device saturation occurs when this value is close to 100% for devices serving requests serially.
But for devices serving requests in parallel, such as RAID arrays and modern SSDs, this number does not reflect their performance limits.
avgqu-sz:(隊列長度)可做爲衡量系統I/O負荷的指標, 超過處理能力的請求數目,待處理的 I/O 請求,當請求持續超出磁盤處理能力,該值將增長。
但因爲avcqu-sz是按照單位時間的平均值,因此不能反映瞬間的I/O洪水。應結合參考svctm.以及r/s及w/s。
svctm的大小通常和磁盤性能有關,CPU/內存的負荷也會對其有影響,請求過多也會間接致使svctm的增長。 await的大小通常取決於服務時間(svctm)以及I/O隊列的長度和I/O請求的發出模式。 若是await比較接近svctm,說明I/O幾乎沒有等待時間;若是await遠大於svctm,說明I/O隊列太長,應用獲得的響應時間變慢, 若是響應時間超過了用戶能夠允許的範圍,這時能夠考慮更換更快的磁盤,調整內核elevator算法,優化應用,或者升級CPU