提问:
有没有一个大致的计算方式?例如,一台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来了,一般需要通过实际应用来测试。