系統IO優化相關思路

 系統IO優化相關思路

-----------------------

最近原搭建的vcloud+vsphere5.1+openfiler的測試環境出現I/O瓶頸。

具體環境如下:

hostX4---單通道8GHBAX4------<FC鏈路>-------雙通道8GHBAX2----openfilerX1  

VM數量 60臺

在openfiler端使用vmstat命令查看

 

 

在host段利用iostat工具查看

 

#iostat,這個需要先安裝sysstat ,即yum -y install sysstat 

 

 ----------------------相關數值說明

I/O 操作: 總IO(io)/s = r/s(讀) +w/s(寫)

平均等待時間 = 單個I/O 服務時間 * ( 1 + 2 + ... + 請求總數-1) / 請求總數

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

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

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

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

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

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

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

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

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系統 已經滿負荷,該磁盤

可能存在瓶頸;idle 小於70% IO壓力就較大了,一般讀取速度有較多的wait。 

 

同時可以結合vmstat 查看查看b參數 (等待資源的進程數 )和wa參數(IO等待所佔用的CPU時間的百分比,高過30%時IO壓力高 ) 

-----------------------------

結合其他工具分析,問題出在openfiler的IO處理性能上,磁盤事件等待時間遠大於磁盤處理時間。openfiler是用DELLR510搭建的用的SATA2TB做的raid5,本身磁盤性能較低,在多臺host上多臺vm同時讀取數據時候會出現處理排隊過長。。。。這個時候測試硬盤速度是正常的

後續因爲測試環境不能申請高級存儲設備,決定拆掉1拖4的存儲佈局,改成利用多臺openfiler組ipsan線路做分散式存儲配合vm的磁盤DRS

HOST-------<多條IP-san鏈路>----磁盤DRS池------openfiler多臺

 

 

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