oracle iops系列二

wisdomone1發表於2013-04-22

為了正確的配置資料庫的儲存裝置,必須瞭解資料庫的效能需求。

資料庫的io型別
 1 IO請求主要是單個塊還是多個塊
   資料庫將發出多個IO請求:並行查詢,查詢大資料量的表掃描,直接資料裝
   載,備份恢復。一般來說,OLTP主要是單個IO請求,DSS資料倉儲是多個IO請
   求。
 2 平均和峰值的IOPS是多少? 寫佔多少百分比 --可以透過v$sysstat及iostat檢視;寫佔總的iops比率
 3 平均和峰值的MBPS是多少?寫佔多少百分比。--平時與峰值,寫佔總的mbps比率

如果你的資料庫IO請求主要是單個塊,那就關注IOPS,
如果資料庫IO請求主要是多個塊,那就關注MBPS。

4,
也可以從awr報表中得到這些資料。
Instance Activity Stats            DB/Inst: DBS108A/dbs108a  Snaps: 8881-8882

-> Ordered by statistic name                                                  
                                                                              
Statistic                                     Total     per Second     per Trans
-------------------------------- ------------------ -------------- -------------
...
physical read total IO requests              27,791           15.7          38.7   --每秒總的讀iops
physical read total bytes               319,881,216      180,368.5     444,897.4   --每秒讀的資料大小
physical read total multi block                 115            0.1           0.2
...
physical write total IO requests              4,278            2.4           6.0  --同上
physical write total bytes               49,528,320       27,927.1      68,885.0
physical write total multi block                 22            0.0           0.0


測試方法:
 1,用壓力測試工具比如orion或ipzone或其它工具,模擬資料庫不同的io請求型別:
   混合讀寫,純隨機讀寫,純順序讀寫;
 2,檢視上述不同io請求型別的iops及mbps(主要是平均及峰值,讀寫比率)
 3,結合iostat的await平均io等待時間及%util io的使用率,可知不同磁碟(可能是1個或多個disk)的iops,平均io wait時間及io使用率
   及mbps
  
 4,測試儲存的io效能就是用壓力測試工具,一直把iostat的%util使用率接近100%,檢視對應的峰值iops及平均io等待時間
   這樣就計算出來了儲存的io效能;
   用這個與oracle io(用awr或v$systat)對比oracle io與儲存io,是否匹配,可能為:
   儲存io相當猛,夠orace io用了
   或者儲存io不足,不夠oracle io用了
   這時最簡單的解決方法:新增儲存的磁碟
   其次重新規劃儲存的raid
   最後如不能擴充套件儲存,修改oracle前臺應用及調整oracle效能
  
 5,透過db file sequential read可知單塊讀io的響應時間,用此值與iostat的svctm:   平均每次裝置I/O操作的服務時間 (毫秒) 進行對
   比,如果小於後者,說明儲存沒問題,去查ORACLE;否則說明儲存IO不足了;就是儲存有問題了
  
   db file scattted read同上理,它是多塊讀的io響應時間
  
  
其它處理途徑:

  1,響應時間+IOPS 就說明了系統的當前io狀況啊,響應時間在 10ms 左右能達到的最大iops 能力,
     是系統io能力的一個最重要指標。

  2,衡量系統io能力,我們也是關注的高峰期一段時間內穩定執行的狀況
 
 
  3,一個random IO的理論時間是:
       7ms =  4-5ms(磁碟平均尋道時間)+ 2ms (傳輸時間) + 一些其它的消耗
       如果不考慮file system cache hit(raw device/direct IO)  以及storage cache hit , 同時沒
       有磁碟競爭,那麼,db file sequntial read的時間就會是 7ms左右.
     

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-759017/,如需轉載,請註明出處,否則將追究法律責任。

相關文章