提問:
有沒有一個大致的計算方式?例如,一臺VNX5300,配置了5塊200GB的SSD盤,10塊600GB 15k盤(2組Raid4+1),10塊NL_SAS盤(8+2),這樣的一個系統下:1、每塊盤的IOPS和Raid后的IOPS什么關系(針對同一個場景,例如4k的隨機讀寫各50%)?2、系統cache的IOPS?3、SSD盤分別做cache和VP時對IOPS的影響?4、前段鏈路帶寬和數量對IOPS影響?
回答:
有關單塊盤IOPS和RAID后的IOPS討論有一個計算公式供LZ參考:
首先需要知道I/O中讀操作(Read)與寫操作(Write)所占的百分比。然后通過下列公式,將主機的IOPS需求轉換成硬盤實際IOPS負載:
按提問中假定的,4000 IOPS中讀/寫比是1:1,則不同RAID類型Drive IOPS要求分別如下:
RAID 1/0: 2000+ 2*2000 = 6000 IOPS
RAID 5: 2000 + 4*2000 = 10000 IOPS
RAID 6: 2000 + 6*2000 = 14000 IOPS
主要的差別在于不同RAID組合的寫代價Write Penalty不一樣。
再參照下表中不同類型硬盤單塊IOPS參數,得出需要多少塊硬盤:
假定選用SAS 15K RPM硬盤,則需要SAS的磁盤數為:
RAID 1/0: 6000/180 = 34 塊
RAID 5: 10000/180 = 56 塊
RAID 6: 14000/180 = 78 塊
緩存大小直接影響IOPS,理論上說,緩存越大能cache的東西越多,在cache命中率保持的情況下,IOPS會越高。SSD盤等因素也會提升IOPS。這些因素綜合在一起就不能簡單的算出IOPS來了,一般需要通過實際應用來測試。