如何計(jì)算硬盤、RAID組與Ceph的IOPS?。。?/h1>
機(jī)械硬盤
7200硬盤IOPS = 1000/(3 + 1000*(7200/60)/2) = 140
10k硬盤IOPS = 1000/(3 + 60000/10000/2) = 167
15k硬盤IOPS = 1000/(3 + 60000/15000/2) = 200
其中3為尋道延遲,7200/10k/15k為轉(zhuǎn)速(rpm),1000*(7200/60)/2為旋轉(zhuǎn)延遲(旋轉(zhuǎn)延遲一般用轉(zhuǎn)一圈所需時(shí)間的1/2表示),結(jié)果為理論峰值,實(shí)際還會(huì)有系統(tǒng)延遲導(dǎo)致測(cè)得IOPS一般低于此值。
RAID組
由于RAID組需要校驗(yàn)以提供恢復(fù)功能,所以會(huì)存在一定寫懲罰(一個(gè)業(yè)務(wù)寫操作對(duì)應(yīng)實(shí)際硬盤的I/O操作,可以參考https://community.emc.com/docs/DOC-26624),這個(gè)系數(shù)如下:
RAID0: 1
RAID1: 2
RAID5: 4
RAID6: 6
RAID1-0: 2
所以RAID組IOPS = 硬盤寫IOPS*硬盤數(shù)量*寫操作百分比/寫懲罰系數(shù) + 硬盤讀IOPS*硬盤數(shù)量*讀操作百分比。
以4塊IOPS為180的SAS硬盤組RAID 6然后***隨機(jī)寫操作為例:
IOPS = 180*4/6 = 120
Ceph的IOPS經(jīng)驗(yàn)公式
由于Ceph存儲(chǔ)結(jié)構(gòu)不同于物理硬件,所以影響其IOPS的因素主要有網(wǎng)絡(luò)、副本數(shù)量、日志、OSD(硬盤)數(shù)量、OSD服務(wù)器數(shù)量、OSD IOPS等,這里給出一個(gè)來自Mirantis的經(jīng)驗(yàn)公式:
IOPS = 硬盤IOPS * 硬盤數(shù)量 * 0.88 / 副本數(shù)量
其中0.88為4-8k隨機(jī)讀操作占比(88%),如果OSD不是以硬盤為單位而是RAID組,則替換公式中對(duì)應(yīng)參數(shù)。
關(guān)于Ceph的IOPS計(jì)算僅供參考,計(jì)算結(jié)果可能會(huì)跟物理環(huán)境實(shí)測(cè)有較大偏差。