彭江涛
作者彭江涛2016-11-15 14:28
技术经理, 四川农信

实打实的性能——IBM FLASH SYSTEM 840详测方案及过程

字数 4504阅读 6379评论 0赞 0

一、存储系统面临挑战:

随着互联网金融日益兴起,各种金融创新层出不穷,客户群体日益年轻化,其对交易、查询等各种用户体验要求越来越高,这对给银行的后端IT支撑系统提出了严峻的考验。纵观整体个IT系统中,瓶颈通常发生在存储系统上,其性能制约了整个IT系统的性能和效率;同其他提升IT系统性能效率的手段相比较,如增加服务器CPU,增加内存,修改应用等,采用更高性能和更低延时的存储,通常能起到立竿见影的效果,其时效性最强、投资更为合理、实施也相对简单。

从闪存出现之初,我们就对此充满了兴趣,并且也花费了大量的时间进行相关的学习和技术储备。相比较而言,闪存有着传统传统机械磁盘无法比拟的超高IOPS和超低的延迟,这恰恰是银行业务追求的。而在EMC DMX时代,我们就曾结合批量应用测试过EMC 73G的闪存盘。测试结果表明:读性能有较大的提升而写性能基本与15K的146G FC盘持平,考虑到闪存盘初期高昂的价格,这在当时并不是一个合适的升级方案。随着技术不断发展,直至全闪存阵列(ALL FLASH ARRAY )的出现,动辄几十、上百万的IOPS,毫秒甚至微秒级别的响应时间,相对更合理的价格区间,且理论上特别匹配银行业务,在经过一年多的市场验证,我们认为全闪存阵列已经相对稳定,可以对其进行技术评估。

二、选择IBM FLASH SYSTEM840做为首个评估对象的两个原因:

由于目前市场上众多厂商均宣称推出了自己的闪存阵列,由于我们的时间和精力有限,不可能对所有厂商的产品进行测试评估。因此,究竟选择哪个产品进行测试评估,给我们带来了很大的困惑。最后在结合技术分析,和我们整个IT系统的实况我们最终选择了IBM FLASHSYSTEM 840作为测试评估对象,其原因有如下:

  1. IBM FLASH SYSTEM 840是具有代表性的全闪存阵列。众所周知,其源自老牌闪存阵列开发商 TEXAS MEMORY SYSTEMS,且在众多用户环境中得到过实际验证;其没有缓存,直接使用闪存达到百万级的IOPS,微秒级的响应时间,快的让人难以置信。
  2. FLASH SYSTEM与测试应用的服务器均同属于IBM公司的产品,在测试期间能获得更好的技术支持。如在测试过程中出现问题,能够更快的得到响应并且加速问题的处理,同时还能够帮助我们优化测试环境,达到最佳的效能,有助于加速我们的测试进度。

三、实物初步感受:

FLASH SYSTEM 840,体积小,做工精良,运行噪音在机房感受不明显,功耗和散热控制的很好。习惯了单柜、多柜的高端阵列,第一眼看到FLASH SYSTEM 840不得不感叹科技的进步。

四、测试环境介绍:

本次测试非实验室理论测试,主要是根据现有设备,并尽量模仿真实使用中复杂的环境,查看FLASH SYSTEM 840的实际表现。比如模拟双光纤卡服务器,模拟实际中不完美的SAN环境,我们特地在服务器连接的8根光纤连线中使用了4根相对品质低一点的。具体测试结构图如下:

五、测试工具及模型

为了确保测试过程中能够充分发挥FLASHSYSTEM 840的极致性能,我们决定通过ORACLE I/O CALIBRATION和IORATE分别进行测试。

1、通过ORACLE数据库自带的I/O CALIBRATION工具,模拟64/128/256块磁盘压力,获取存储最大IOPS和最高吞吐性能

2、使用IORATE测试,每个磁盘16个并发I/O线程.DB主机上各使用30个200G磁盘,APP主机上各使用10个200G磁盘。参测存储容量为16TB,占FLASH SYSTEM840整体可用容量的80%.

IORATE测试场景

六、测试结果:

1、ORACLE I/O CALIBRATION IOPS

1.1、ORACLE I/O CALIBRATION IOPS---2块HBA场景(IOC)

测试1种场景,模拟128块磁盘的压力,使用两块HBA卡与2个F840端口进行测试。128块磁盘场景下,I/O CALIBRATION给出的测试值为182,533 IOPS,带宽为1.54GB/S。测试中发现AIX上主机HBA卡的QUEUE DEPTH不足,说明HBA卡已成为瓶颈.

ORACLE I/O CALIBRATION IOPS---2块HBA场景(F840 GUI结果)

FLASH SYSTEM 840管理界面观察到的IOPS约为19.6万,带宽为1.64GB/S,与I/O CALIBRATION的测试结果接近.

1.2、ORACLE I/O CALIBRATION ---8块HBA场景

共测试3种场景,分别模拟64块/128块/256块磁盘的压力,得出的测试结果类似。64块磁盘场景下,I/O CALIBRATION给出的测试值为511,464 IOPS,带宽为4.1GB/S。注:测试中,8块HBA场景下,有4块HBA卡的吞吐比另外4块要小200MB/S,因此影响总体IOPS和吞吐值

NMON数据显示各种测试场景的峰值IOPS为51.6万,与I/O CALIBRATION的测试结果接近.测试瓶颈在CPU使用率.

ORACLE I/O CALIBRATION IOPS---8块HBA场景(F840 GUI结果)

FLASH SYSTEM 840管理界面观察到的IOPS约为51.4万,带宽为4.3GB/S,与I/O CALIBRATION的测试结果接近.

影响IOPS的主要因素是CPU使用率,影响带宽的主要因素是并发IO过多,冲突导致带宽无法达到峰值。为降低极限IOPS测试时并发IO过多导致的冲突的问题,加测一组模拟2块磁盘的场景。该场景结果显示带宽可达到5GB/S.

2、IORATE测试

IORATE测试性能测试汇总:

说明:绿色为8 HBA卡结果,蓝色为12 HBA结果。

下面为具体测试场景的性能和响应时间:

IORATE随机读写I/O测试-4K随机读4台测试主机共12块HBA卡参与极限性能测试,FLASH SYSTEM 840 GUI界面显示峰值IOPS为101万,随机读响应时间0.17MS,在测试中,测试值始终保持稳定状态,无波动。

IORATE随机读写I/O测试-8K随机读

FLASH SYSTEM 840 GUI界面显示峰值IOPS为83万,随机读响应时间0.4MS。在测试中,测试值始终保持稳定状态,无波动.

IORATE随机读写I/O测试-16K随机读

FLASH SYSTEM 840 GUI界面显示峰值IOPS为47.3万,随机读响应时间1.7MS.在测试中,测试值始终保持稳定状态,无波动.

IORATE随机读写I/O测试-4K随机写

FLASH SYSTEM 840 GUI界面显示峰值IOPS为43万,随机写响应时间1.7-2MS。在测试中,测试值始终保持稳定状态,无波动.

IORATE随机读写I/O测试-8K随机写

FLASH SYSTEM 840 GUI界面显示峰值IOPS为28.7万,随机写响应时间3.2MS.在测试中,测试值始终保持稳定状态,无波动.

IORATE随机读写I/O测试-16K随机写

FLASH SYSTEM 840 GUI界面显示峰值IOPS为16.8万,随机写响应时间6.2MS.在测试中,测试值始终保持稳定状态,无波动.

IORATE随机读写I/O测试-4K混合随机读写(70%读+30%写)

FLASH SYSTEM 840 GUI界面显示峰值IOPS为75万,随机读响应时间0.9MS,随机写响应时间为0.3MS.在测试中,测试值始终保持稳定状态,无波动.

IORATE随机读写I/O测试-8K混合随机读写(70%读+30%写)

FLASH SYSTEM 840 GUI界面显示峰值IOPS为45万,随机读响应时间1.5MS,随机写响应时间为0.7MS.在测试中,测试值始终保持稳定状态,无波动.

IORATE随机读写I/O测试-4K DBO (70%读+30%写+50%读命中)

FLASH SYSTEM 840 GUI界面显示峰值IOPS为71.8万,随机读响应时间0.9MS,随机写响应时间为0.4MS.与之前4K随机混合读写的结果接近.结果说明FLASH SYSTEM 840完全可应对高读命中的OLTP环境.

在测试中,测试值始终保持稳定状态,无波动.

IORATE顺序读I/O测试-64K顺序读

FLASH SYSTEM 840 GUI界面显示峰值吞吐为8.1GB/S。12块HBA卡理论带宽为9.6GB/S.由于P780中有4块卡的平均吞吐比另外4块少200MB/S,因此预计正常情况下吞吐可达9GB/S. FLASH SYSTEM 840公布的吞吐值可达10GB/S.

IORATE顺序写I/O测试-64K顺序写

FLASH SYSTEM 840 GUI界面显示顺序写峰值吞吐为3.1GB/S.

七、测试总结及体会:

FLASH SYSTEM 840的实际性能给我们留下了深刻的印象。其性能远远超远了我们现在正使用的高端存储,即使他们同样使用SSD固态硬盘。无论是IOPS和带宽的表现都非常出色,其性能基本能随着HBA卡的增加线性增长,要榨干FLASH SYSTEM 840的性能,至少需要12张8GB HBA卡全速工作,也许你还要修改一下相关系统参数。且测试过程中发现,在每个不同测试场景其性能曲线均十分平滑,几乎没有任何明显的性能波动。抛开价格因素,FLASH SYSTEM的适用范围很广。网银、电子银行、决策分析等需要极致性能的系统都非常匹配FLASH SYSTEM 840的应用场景。

通过本次对IBM FLASHSYSTEM 840的实际测试,对IBM FLASHSYSTEM 840展现的强劲性能我们也做了分析,可能是如下三方面的因素:

  1. 控制器架构的不同:现在市场上大多数闪存阵列,绝大多数是基于SSD的混合阵列,其体系架构是在上世纪90年代所设计的,其控制器架构的初衷是如何优化机械式磁盘的性能。而闪存介质本身的性能远超过传统的机械式磁盘,因此其传统控制器架构很难发挥闪存的性能,甚至在高IOPS下,前端控制器可能成为瓶颈。而IBM FLASHSYSTEM 840的体系架构为了特定目的是设计的 - 也就是如何充分发挥闪存的性能的优势,其控制器架构的核心是众多逻辑简单的FPGA(现场可编程门阵列)。
  2. 闪存封装方式的不同:现在绝大多数磁盘阵列里面的闪存都是采用SSD的方式进行封装,主流的磁盘接口和协议转换是阻挡了闪存的性能;而IBM FLASH SYSTEM 840直接使用闪存芯片,少了一层外部的封装,直接就反映在了IOPS和响应时间上。
  3. 内部控制代码的差异:市场上传统磁盘阵列为了兼顾了众多高级功能,如瘦供给、快照、容灾等,使得系统代码十分庞大,降低了效率。而IBM FLASH SYSTEM 840追求极致的性能,代码精简而高效。

当然,FLASH SYSTEM现在体系很成熟,不需要高级功能就是840;需要其他高级功能的时候,我们也可以选择V840。现在也许我们仅仅是需要一个合适的价格。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

本文隶属于专栏

最佳实践
不同的领域,都有先行者,实践者,用他们的最佳实践来加速更多企业的建设项目落地。

相关文章

相关问题

相关资料

X社区推广