存储系统 - IOPS与带宽的关系

在存储领域,IOPS也被称为Throughput(吞吐量),即每秒钟的I/O数量,如果知道每个I/O的平均大小,那么就可以算出这些I/O总共产生了多大的数据量,即Bandwidth(带宽)。因此,IOPS * I/O size = Bandwidth。

下面这张图显示了VNX(EMC的中端存储)的MAX IOPS = 20w,MAX Bandwidth = 12GB/s,根据公式:

IOPS * I/O size = Bandwidth ->
20w * 4KB / 1024(MB) /1024(GB) = 0.7629GB/s,带宽连1GB/s都没到,为什么?

提示:这里A假设i/o size = 4KB是合理的,因为在存储领域有个不成文的规定,只要以IOPS来描述,那么就代表是小I/O(<32KB),以Bandwidth来描述,那就是大I/O(>32KB)。

你可以假设 IOPS 是用4KB I/O算的,但你不能假设带宽也是用 4KB I/O 来算的,所以乘以 4KB 来算带宽是错的。如果你乘以64KB,那答案就很接近了(12.207GB/s)。

有人会疑问,根据下图,带宽不是与 IOPS 成反比的吗?也就是说,当I/O是 64KB 的时候,IOPS就不可能达到20w啦,所以乘以20w也是不合理的。

这张图有个前提,那就是对Response Time有一定要求。解释下:为什么VNX只能支持20w IOPS? 而不是25w? 测试人员必然是定了一个阈值,一旦超越了这个阈值就不能提升IOPS了。如果这个阈值是Response Time就很好理解了。假设采用【4KB,随机】I/O测试,此类I/O通常是OLTP这种应用产生的,而这种应用对Response Time的要求相对较高。于是测试人员就设置阈值 Response Time = 20ms,然后开始用测试软件生成 I/O workload,当IOPS达到20w时,可能Response Time恰好是20ms,再多就超过20ms了。为什么要以Response Time为阈值,因为它是最能说明生产系统是否能正常工作的一个参数。假设测试人员继续提升IOPS到25w,此时Response Time 或许 = 40ms,即便VNX的CPU、I/O模块、内存等组件依然有余量,但40ms的Response Time对于一个OLTP系统来讲已经是不可接受的了,那这多出的5w IOPS又有什么意义呢?

同理,如果用64K测试,同样Response Time = 20ms,那么必然是达不到20w IOPS的。但不要忘记了,吃带宽的应用,比如备份、OLAP、视频流等,它们对Response Time的要求可没 OLTP 那么高,可能100ms都是可以接受的。如此一来,测试人员就可以提升阈值Response Time = 100ms,从而提升IOPS,就有可能达到20w,因为Response Time的要求变了。
  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值