存儲磁盤的IOPS計算方式

昨天一客戶那邊出現了跟存儲磁盤IOPS相關的問題:應用系統在調用數據庫時特別慢,頁面打開同樣慢。最終一路排查下來,問題還是在存儲端。存儲中劃給oracleRAC使用的RAID5,使用的是包含EMC存儲操作系統在內的5塊硬盤。
   具體的說:這5塊盤,都是FC 10K RPM的450G硬盤(每個盤的IOPS爲140),磁盤最大的IOPS爲700。假設讀寫比爲2:1,能夠提供給前端應用的IOPS只能爲:350(RAID5是1讀4寫)。這樣的IOPS,的確不能滿足實際應用的使用需求所導致的情況。這個問題其實也不是碰到一次兩次,就藉着這次一起整理下關於磁盤IOPS的計算方式:
   1、準備工作:
在計算具體的磁盤IOPS之前,需要對常見的RAID類型的讀寫比、不同硬盤類型的IOPS值、具體應用的IOPS需求等等有一些瞭解。
不同RAID類型的IOPS計算公式:
 

RAID類型

公式

RAID5RAID3

Drive IOPS=Read IOPS + 4*Write IOPS

RAID6

Drive IOPS=Read IOPS+6*Write IOPS

RAID1RAID10

Drive IOPS=Read IOPS+2*Write IOPS


不同磁盤類型的IOPS:
 

硬盤類型

IOPS

FC 15K RPM

180

FC 10K RPM

140

SAS 15K RPM

180

SAS 10K RPM

150

SATA 10K RPM

290

SATA 7.2K RPM

80

SATA 5.4K RPM

40

Flash drive

2500

 
  2、案例
看兩個案例,其中第二個也是昨天在客戶現場碰到的實際情況。 IOPS的計算需要結合上述表格中的相應參數值。
  

   1)   20TB存儲空間同時滿足4500 IOPSRAID5,從實際使用來說,如何計算不同RAID所支持的IOPSRAID5或者RAID10的時候分別需要多少塊硬盤?

首先需要知道I/O中讀操作與寫操作所佔的百分比。然後通過第2章節中的公式,將主機IOPS需求轉換成硬盤實際IOPS負載:

假定4500 IOPS中讀/寫比是21,則不同的RAID類型Drive IOPS分別如下:

RAID10:(2/3*4500+2*1/3*4500 = 6000 IOPS

RAID5:(2/3*4500+4*1/3*4500 = 9000 IOPS

RAID6:(2/3*4500+6*1/3*4500 = 12000 IOPS

再參照第2章節中不同硬盤類型的IOPS值,換算出需要多少塊盤:

RAID106000/180 = 34

RAID59000/180 = 50

RAID612000/180 = 67

   2)   客戶環境中,存在一個RAID group,是由5450G 10K RPMFC盤組成,換算出該RAID支持的最大IOPS以及能夠給前端應用提供的IOPS

首先10K RPMFC盤,單塊盤的IOPS1405塊盤最大IOPS值爲700

假設讀寫比爲21,能夠提供給前端應用的IOPS爲:

2/3*X+4*1/3*X = 700

2*X = 700 X=350  能夠提供給前端應用的IOPS350


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