IOPS和带宽对存储性能指标的影响.docx
《IOPS和带宽对存储性能指标的影响.docx》由会员分享,可在线阅读,更多相关《IOPS和带宽对存储性能指标的影响.docx(7页珍藏版)》请在冰豆网上搜索。
IOPS和带宽对存储性能指标的影响
IOPS和带宽对存储性能指标的影响
说起存储产品的评价,性能永远是第一重要的问题。
关于性能的各种指标实在五花八门:
带宽(Bandwidth)、IOPS、顺序(Sequential)读写、随机(Random)读写、持续吞吐(SustainedThroughput)、突发处理能力(BurstI/O)等等看似甚为专业的名词充斥着解决方案和技术分析报告。
存储产品的性能似乎被量化得格外清晰,作为用户,只需要简单的比较两个数字,就可以清楚的得出孰优孰劣的结论。
然而,事实果真如此吗?
就让我们走进那些五花八门的指数背后,去看看性能的真实面目。
1、带宽与I/O
这是两个衡量存储设备性能最基本的概念,明确的区分两者也是对存储产品性能了解的第一步。
如果我们把存储设备比做一间会议室,被存取的数据就是前来参加会议或从会议中离开的人,那么带宽性能就是指这间会议室大门的宽度,大门越宽,可以同时进出的人也就越多,而I/O性能是指房门开合的频繁程度,迎来一批前来参加会议的人,就需要打开一次大门,送走
个结论也不难得出,一个宽敞的大堂更有利于偶然性较大的“随机进入”,而对“顺序进入”的人群而言,经过大堂基本属于浪费时间。
存储设备中的“大堂”就是高速缓存。
也就是说,大容量高速缓存可以提高随机读写性能,而对顺序读写的性能改进则不明显。
还记得前面讨论的带宽和I/O的差别吗?
带宽考察的是单位时间进入大厦的人数,而I/O关心的是单位时间进出大厦的批次。
从次可见,如果走廊没有任何变化,那么大堂只要不是太小,就不会影响带宽性能。
相对的,对I/O性能而言,大堂显然是越大越好。
总之,影响带宽的因素主要是前端控制器(大门)和后端磁盘通道(走廊)的带宽;而影响I/O的因素主要是控制器(大门)处理能力和高速缓存(大堂)容量。
当然,前面的讨论都基于一个假设前提:
磁盘(房间)足够多。
如若只配置寥寥几个磁盘,它们就会成为整个系统的性能瓶颈。
任凭其他配置如何奢华,也于事无补。
那么,“足够多”又是多少呢?
对光纤通道存储设备来说,每个光纤通道上的磁盘数量达到50~60个的时候性能达到最佳。
所以一般中高端存储设备都把每通道50~60个磁盘设计为扩展极限,而不是光纤通道技术规定的126个。
图1.磁盘数量影响光纤环路性能
这样设计存储产品,可以让系统的性能随着容量的增加而增长。
但是同时,用户必须明白,在容量没有配置到最大值的时候,性能就无法达到厂商所宣称的指标。
一些厂商还声明其产品的性能可以随着容量的增长而线性增长,按这样讲,当你的存储设备只配置了最大容量的一半时,你得到的性能也只有系统最佳性能的一半。
3、性能曲线
这里所说的“最佳性能”就是厂商所宣称的指数吗?
很遗憾,答案是不一定,一般都不是,而且可能会相差很远!
我已经听到有人在叫“天啊!
那厂商公布的数字到底有什么意义啊。
”别急,看到下面两个图示就清楚了。
图2.IOPS性能曲线示例
图3.带宽性能示例
这两个图示是典型的存储设备性能实测曲线,所有曲线来自同一个存储设备的同一个配置。
不同产品在纵向指标上表现各异,但曲线的形状都大体相同。
从图上可以看出,用户环境中存储设备的性能表现严重依赖数据块的大小。
以顺序读取操作为例,如果应用产生的数据块大小在8KB左右,那么带宽性能和I/O性能最多也只能达到峰值性能的一半左右。
如果希望得到更好的I/O性能,就需要尽量将数据块调整得更小。
但不幸的是,如果希望带宽性能更好,就需要想办法把数据块设置得更大。
看来,带宽与I/O性能是鱼与熊掌,难以兼得啦。
不过没关系,如我们前面提到的,幸好大多数用户其实只需要其中一种性能。
要么是大文件类型的应用,需要带宽性能;抑或是小文件类型应用,需要I/O能力。
需要带宽的用户相对容易得到满足。
从图3可以看出,只要数据块大于128KB,顺序读的性能就基本可以达到系统饱和值。
对顺序写,饱和数据块略大一些,但256KB也不算难以达到的尺寸。
得到最佳的I/O性能似乎就没那么容易了。
从图2的曲线来看,I/O性能并没有一个饱和状态,这就要求数据块无穷尽的尽量小。
然而所有应用都不可能支持无穷小的数据块。
实际上,大多数的数据库应用产生的数据块都在2KB或4KB左右。
在这个尺度上,应用得到的性能距离最高性能还有至少20~30%的空间呢。
4、持续和突发
回到我们那个关于大厦的例子。
如果大厦临时发生紧急情况,比如火灾,人们争先恐后的蜂拥在门口,景象一定是一片混乱。
在实际应用中,存储系统也可能遭遇类似的情况,一时间大量数据同时被访问,造成系统严重堵塞。
这就像存储系统内的交通高峰,往往需要类似交通管制的手段才能提高系统效率。
一些厂商会宣称他们的产品在这种情况下的“交通管制”能力有多强,以致可以从容应付大规模的突发访问。
诸如“全交换结构”、“直接矩阵结构”等技术均属此类。
究其本质,这些“交通管制”都是在大堂(高速缓存)的设计上做文章,将原本一个公共大堂的结构变成若干独立大堂的结构。
以此来避免火灾发生时,所有人都拥挤到一个大堂里。
这样设计的确可在访问突然爆发时缓解系统压力,但是需要注意,这样设计的大厦内部一定布满了各种指示牌和路标,对任何一个进入大厦的人而言,进入房间的过程都将变得更复杂。
其结果就是,非突发状态下,系统的持续读写能力往往还不如同等计算能力的简单结构存储。
5、其他影响
除了前面所谈到诸多方面外,还有很多因素都会影响到存储设备在实际运行中的性能。
例如RAID级别的设置、磁盘类型甚至型号批次的匹配、缓存的镜像、SCSI指令队列深度的设置,这些方面都与性能结果直接相关。
而且,为了能够得到最好的性能指数,几乎所有的厂商在测试自己产品性能的时候都会采用无冗余的RAID0、选用15krpm的高速磁盘、将写缓存镜像保护关闭或者干脆关闭写缓存、将指令队列深度设置为最大。
如此配置方式相信不是每个用户都可以接受的。
另外,所有存储设备在运行快照或远程镜像等附加功能之后,性能都会明显下降,有些情况甚至会下降60%之多。
如果用户的应用恰巧需要这些附加功能,就需要在选用存储设备之前认真的实地测量一下真实性能。
免得满怀希望的买回家,使用起来却失望至极。
结论和建议
想要知道梨子的滋味,最好的办法就是亲自尝一尝。
对存储设备,这个道理尤其重要。
只有在用户需要的配置方式下,在实际的应用系统中,实实在在的运行之后,用户才能真正清楚的感知存储设备的真实性能表现。
纸上谈兵只怕会使用户在各种数据中迷失方向,难以做出正确结论