linux iostat iowait

iostat -xios

rrqm/s:          每秒進行 merge 的讀操做數目。即 delta(rmerge)/side

wrqm/s:         每秒進行 merge 的寫操做數目。即 delta(wmerge)/s性能

r/s:            每秒完成的讀 I/O 設備次數。即 delta(rio)/sspa

w/s:            每秒完成的寫 I/O 設備次數。即 delta(wio)/sorm

rsec/s:         每秒讀扇區數。即 delta(rsect)/s隊列

wsec/s:         每秒寫扇區數。即 delta(wsect)/sit

rkB/s:          每秒讀K字節數。是 rsect/s 的一半,由於每扇區大小爲512字節。(須要計算)io

wkB/s:          每秒寫K字節數。是 wsect/s 的一半。(須要計算)class

avgrq-sz:       平均每次設備I/O操做的數據大小 (扇區)。delta(rsect+wsect)/delta(rio+wio)請求

avgqu-sz:       平均I/O隊列長度。即 delta(aveq)/s/1000 (由於aveq的單位爲毫秒)。

await:          平均每次設備I/O操做的等待時間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)

svctm:          平均每次設備I/O操做的服務時間 (毫秒)。即 delta(use)/delta(rio+wio)

%util:          一秒中有百分之多少的時間用於 I/O 操做,或者說一秒中有多少時間 I/O 隊列是非空的。即 delta(use)/s/1000 (由於use的單位爲毫秒)

若是 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁盤可能存在瓶頸。


iowait

%iowait = (cpu idle time)/(all cpu time)

高速cpu會形成很高的iowait值並不表明磁盤是系統的瓶頸。

惟一能說明磁盤是系統瓶頸的方法,就是很高的read/write時間,通常來講超過20ms,就表明了不太正常的磁盤性能。

爲何是20ms呢?通常來講,一次讀寫就是一次尋到+一次旋轉延遲+數據傳輸的時間。

因爲現代硬盤數據傳輸就是幾微秒或者幾十微秒的事情,遠遠小於尋道時間2~20ms和旋轉延遲4~8ms,因此只計算這兩個時間就差很少了,也就是15~20ms。只要大於20ms,就必須考慮是否交給磁盤讀寫的次數太多,致使磁盤性能下降了。

相關文章
相關標籤/搜索