作者:浪潮资深存储架构师 叶毓睿
背景:你知道SPC-1 IOPS 到底是由哪些I/O模型的负载组合而成?
2020年3月,存储性能委员会(Storage Performance Council,简称SPC)公布最新的SPC-1™基准测试报告。浪潮存储AS5600G2(全闪存)以752万IOPS、0.472毫秒延时的评测值,创造了16控存储产品性能的全球最高纪录,成为全球存储市场新的领跑者。随着IoT、 5G、AI、云计算和大数据等技术的发展,以及数字宇宙不断膨胀的当下,越来越多的业务应用需要高性能、低延时。浪潮存储全闪存阵列的优异表现,对数据库、OLTP/OLAP、邮件系统、虚拟化、AI等业务的存储系统选型具有极高的参考价值。
SPC是存储行业性能评测的权威标准,它的要求非常严格,为了更接近用户真实使用情况,在许多细节上做出了限制。例如,在开始评估性能之前,长达8个小时的持续写入(SUSTAIN),避免存储阵列的缓存命中,或全闪存阵列初次写入,导致的性能虚高。
为了进一步详细了解这一优异性能背后的含义,下面我们从多个方面进行分析。
SPC-1测试要素:存储产品多维度衡量
此次测试采用的是SPC-1较新的版本v3.8,从SPC官方网页
http://www.spcresults.org/specifications#spc-1 可以下载到2018年10月28日启用的这个版本的详细介绍(如下PDF),有113页。
SPC-1测试版本v3.8
详细的介绍了对产品功能、可靠性、性能、可用性和成本价格等多个维度的评估标准。例如:
1、可靠性
在整个测试过程中,多个阶段都会检验数据的一致性。例如初始化阶段、SPC IOPS阶段(Primary Metrics Test Phases)、……、关电重启再校验数据的一致性,确保存储能够经受高可靠性的严格测试。
SPCI还要求合规的TSC能够防止单点故障。并明确提出:
1)任何存储设备在TSC中的单点故障,都不要用户干预,来恢复对基准数据库的访问。
2)任何组件在TSC中的单点故障,都不要用户干预,来恢复对基准数据库的访问。
SPC-1测试对存储产品的可靠性要求
备注:TSC指Tested Storage Configuration,用于测试的存储的配置。
2、IOPS
SPC-1 IOPS是一个科学的,但又复杂的I/O模型的负载组合。参与厂商需要对自己的存储有着深入的了解,先预估出比较合理的性能高峰值。然后再根据这个值,运行SPC-1的I/O模型,在延时、可靠性等约束下,是否能够符合要求。如果不符合,再去调整性能高峰值。
备注:在SPC规范里特别强调,所有特殊的基准测试,也即用来改进测试结果,但不是普遍的、真实世界的性能的实现,都是禁止的。如果详细剖析I/O模型,我们会发现符合其负载组合模拟了用户的业务场景,因此是比较科学的。
如果预估值是752万IOPS,那么负载百分比(Load Percentage)为100的时候,压测的性能就是按照752万IOPS准备的。例如下表的RAMPD_100、SUSTAIN、RAMPU_100、REPEAT_1_100、REPEAT_2_100。而RAMPD_10对应的Load Percentage是10,也就意味着这个Test Group的压测按照75.2万IOPS准备。
SPC-1测试阶段
浪潮存储根据SPC Benchmark Official Specification,制作了一份简单易懂的表格,如下图。三个ASU的【9、读负载】总和为39.44%,【10、写负载】总和为60.56%,两者之和为100% 。
ASU业务应用存储单元的测试数据
三个ASU(Application Storage Units,业务应用存储单元),分别提供45%、45%、10% 存储空间比例,总和为100%。每个ASU有着不同的IO流, ASU 1是Data Store,例如它的第三类IO流,它的IO块大小不是固定的,从下表能看出,它是从8个block到128个block不同Transfer Size的组合;每个block是512个字节 ,因此IO块大小是从4k到64k。不同ASU的不同IO流,都有着各自的流负载,并规定了读写比例。所有IO流(总共8种)的读负载总和与写负载总和之和为100% 。
流负载分布
下面再详细列举一下ASU 1的四类I/O数据流:
四类I/O数据流
其他ASU,如做为User Store的ASU 2,和做为Log/Sequential Write的ASU 3,它们的IO流细节都可以从SPC-1官方规范(如v3.8版)中获取。
3、延时
延时方面的指标有两个。
1)平均延时,也即SPC-1 IOPS Response Time。
2)总体响应时间,也即Overall Response Time。
它的计算公式如下,这个值是根据实际测试结果计算出来的,所以是一个固定值。
总体响应时间计算公式
4、成本
成本方面的指标至少有两个。
1)性能价格比
SPC-1 PRICE-PERFORMANCE,SPC-1总性价比的计算方式是使用系统总价格除以SPC-1 IOPS,有时衡量单位是$/SPC-1 KIOPS,表示每千个SPCI-1 IOPS的价格。
2)容量价格比
SPC-1 ASU Price定义为总系统价格除以SPC-1 ASU的容量,衡量单位是$/GB。
从 http://www.spcresults.org/benchmarks/results/top10/performance/spc1/3 可以下载到不同厂商不同型号的测试报告。
我们选取几个重要的信息来进行解读和比较。
浪潮存储SPC-1报告解读
1、概览
在《A32014_ES》这个PDF里,能看到几乎所有的重要信息。包括752万的SPC-1 IOPS;SPC-1 性能方面的性价比为$386.50/SPC-1 KIOPS,容量方面的性价比为$10.58/GB;平均延时 0.472毫秒,总体响应时间为0.251毫秒;数据保护方式为RAID 10,此种保护方式能防止单点故障,但对性能有减损,因此能达到752万IOPS殊为不易。
浪潮存储SPC-1测试总体表现
根据这个IOPS以及裸容量的配置,我们还可以计算出来,在SPC开始统计性能之前,长达8小时的持续写入(SUSTAIN),使得整个浪潮存储AS5600G2,全覆盖写入接近三次,避免了SSD初次写入所呈现的性能虚高。
2、拓扑图
浪潮存储测试机拓扑图
3、成本
此次浪潮存储的测试配置还包含了浪潮的光纤导向器FS9610。在报告中,我们可以看到“Storage Configuration Pricing”一栏中,总价格包含了FS9610的价格,如下表:
测试配置
然而,我们看到SPC-1网站中,有不少友商,没有光纤交换连接的部件,如交换机FC Switch,或者导向器FC Direct的配置和报价。可能使用的是直连方式,因此拉低了系统的总体价格。但用户需要清楚的是,实际部署这种高性能低延迟的中高端存储,光纤交换连接的部件是不可或缺的。
每个送测的厂商,都必须在报告的“Storage Configuration Pricing”部分,详细的组件、数量、价格和整个送测系统的总价。这样才能确保是性价比,而非仅仅是最高峰性能的比较,对最终用户更有参考价值。
4、延时
高IOPS的情况下,往往对延时是巨大的挑战。可以看出即使在750多万IOPS下,延时仅0.472毫秒。总体响应时间为0.25毫秒。
浪潮存储SPC-1测试ASU的多种I/O数据流
报告对比
通过比较才能看出更多信息。我们选取SPC-1中,最近两年多,也即从2018年到2020年3月,并且性能超过100万IOPS的存储,这样的比较对于当下的用户才更有意义。我们发现剩下7个型号,浪潮AS5600G2在性能性价比、每控制器IOPS性能均排名第一;在容量性价比排名第二,但总IOPS是容量性价比第一的4倍多。
总而言之,作为16个控制器的存储产品,浪潮AS5600G2毫无疑问,性能是全球领先的。
性能横向对比
结束语
正如开篇所述,越来越多的业务应用需要高性能、低延时。我所知道的就有,国内某食品加工制造公司,实际业务运行的IOPS高达20万。另外,某国企的SAP ECC模块,单个数据库实际运行高达3万多IOPS,如下图所示。采用浪潮存储AS5600G2,能够同时承载多个更高IOPS,更低延时的关键业务。
某国企的SAP ECC模块,单个数据库实际运行高达3万多IOPS
随着用户业务种类不断扩大,业务的规模不断增加,及时地分析数据用于营销或决策已经变得越来越重要了。快速响应市场需求已经成为企业竞争的决胜因素,而信息化的基础架构,尤其是往往容易成为瓶颈的存储,需要得到更多的重视。
索引(感谢一些朋友和同事提供的线索,包括Bin Sun、Peiren Shi、Hao Sun、Edison Zhang、Dan Liu、Pinky Liu等人)
- 本篇文章的大部分数据和表格,来自spcresults.org;
- 如需获取浪潮存储SPC-1™基准评测报告,请访问:
http://www.spcresults.org/sites/default/files/files/executive_summary/A32014_ES.pdf
3、SPC-1官方规范