IO的各指標計算方法(參考iostat)

關於IO的各項指標,基本上從文件/proc/diskstats文件獲取就可以了,所以首先簡單介紹下該文件的各個域。

   8       0 sda 404401 41618 43058034 767156 76322193 498634263 4599837328 2847411684 0 340610149 2848016085

這是從我用的服務器上的/proc/diskstats中選擇的一條,從前往後,各個域爲:

major:設備的主ID號

minor:設備的輔ID號

dev_name:設備名

rd_ios:讀完成的次數

rd_merges:讀取合併的次數,爲了效率可能會合並相鄰的讀和寫

rd_sectors:讀取的扇區數

rd_ticks:讀花費的毫秒數

wr_ios:寫完成的次數

wr_merges:寫合併的次數,爲了效率可能會合並相鄰的讀和寫

wr_sectors:寫的扇區數,寫成功的總得扇區數

wr_ticks:寫花費的毫秒數

ios_pgr:正在處理的IO數

tot_ticks:輸入/輸出操作花費的毫秒數

rq_ticks:與ios_pgr相關,表示加權的毫秒數,就是說當前隊列中的io請求數乘以經過的毫秒數,所以想要獲取平均隊列長度,只需要該值除以經過的毫秒數,舉個例子:在超市排隊買東西,後面10個人等待第一個人付錢,第一個人花了1分鐘付錢,那麼這10個人總花費的時間是1*10=10分鐘。也就是說它計算的是時間與當前等待個數的乘積。

在我使用的服務器上的iostat -xm的打印內容包含如下指標,其中svctm在新的iostat中已經廢除了,所以之後不會討論該域,大體的計算方法爲兩次讀取/proc/diskstats,計算兩次讀取的差值除以兩次讀取的時間的,具體計算方法如下:

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util

rrqm/s:每秒合併的讀操作次數,計算方法:兩次讀取rd_merges的差值,除以兩次讀取的時間間隔

wrqm/s:每秒合併的寫操作次數,計算方法:兩次讀取wr_merges的差值,除以兩次讀取的時間間隔

r/s:每秒的讀次數,計算方法:兩次讀取rd_ios的差值,除以兩次讀取的時間間隔

w/s:每秒的寫次數,計算方法:兩次讀取wr_ios的差值,除以兩次讀取的時間間隔

rMB/s:以兆爲單位,每秒讀的MB字節數,計算方法:兩次讀取rd_sectors的差值,除以兩次讀取的時間間隔,再除以2048(2*1024,因爲rd_sectors是扇區單位,一個扇區一般爲512字節,除以2爲KB,再除以1024爲MB)

wMB/s:以兆爲單位,每秒寫的MB字節數,計算方法:參考rMB/s

avgrq-sz:在新版本的iostat中,該域爲arqsz,平均請求的大小,計算方法:兩次讀取的rd_sectors和wr_sectors的和的差值除以兩次讀取的rd_ios和wr_ios的和的差值

avgqu-sz:在新版本的iostat中,該域爲aqu_sz,平均隊列長度,計算方法:兩次讀取的rq_ticks的差值除以兩次讀取時間間隔的毫秒數

await:平均每次讀寫花費的時間(ms),計算方法:兩次讀取的rd_ticks的差值加上兩次讀取的wr_ticks的差值,除以兩次讀取的rd_ios和wr_ios差值的和

r_await:每次讀花費的時間(ms),計算方法參考await,只計算rd_ticks和rd_ios

w_await:每次寫花費的時間(ms) ,計算方法參考await,只計算wr_ticks和wr_ios

util:設備的帶寬利用率,即IO讀寫時間佔總時間的比例,計算方法:兩次讀取的tot_ticks的差值除以兩次讀取的時間間隔

 

關於上面各域的特殊說明:

util:該域沒有考慮磁盤的併發能力,所以當磁盤有併發能力時,該值爲100%時無法代表磁盤處理能力飽和,所以該值往往不能當作磁盤性能瓶頸的參考

await:不僅包括硬盤設備讀操作的時間,也包括在內核隊列中的時間

個人理解:io的繁忙程度,主要查看await和avgqu-sz(aqu_sz),await表示的是io請求的服務加等待時間,而aqu_sz表示的是等待隊列的長度,所以await本身應該也是受aqu_sz影響的,這兩個值越大,表示當前的io越繁忙,而util和已經被廢棄的svctm指標應該沒有太大作用,因爲util並沒有考慮磁盤的並行處理能力

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章