服务器产业掀热潮,效能成关键指标
随着云端相关技术的成熟,业界对于服务器架设的需求也逐年提升。除了需求数量提升,相对应的服务器效能需求也随之增加。若服务器的效能没有达到一定水平,使用者便会明显感受到一定程度的不顺畅。举例来说:一般用户在使用在线服务,如网络订票或者浏览影音等,若服务器因负载过大而效能较差的话,使用者便会感受到不顺畅的网络体验,甚至无法顺利完成服务。
评估一台服务器的效能,主要有几个效能指针组件:中央处理器、内存、储存装置、网络卡等。
影响服务器效能的关键:除了中央处理器、内存之外,储存装置也占了非常重要的部份,例如操作系统运行、资料读写存取,若储存装置速度慢,便会整体拖累服务器运转效能。
为了提升服务器处理资料的效能,现今主流服务器已普遍搭载SSD,服务器厂商对于SSD如何挑选,除了价格以外,SSD本身的效能便是另一个重点。SSD效能评测,一般常见的IOmeter、FIO、CrystalDiskMark,可以快速的了解该SSD效能水平,但对于服务器环境下,长时间高频率使用性质,这类评测工具往往只能了解到表面,无法更深入了解SSD在服务器环境下实际表现为何。
针对SSD效能评估,SNIA(Storage Networking Industry Association)提供了完整效能评估指引。顾名思义,该协会为提供网络相关制造行业所需的技术规范为主,协会制订的相关规范广泛,其中关于SSD效能评估相关规范为” Solid State Storage (SSS)Performance Test Specification (PTS)”,这项测试规范可以让制造商与客户,在评估挑选SSD储存装置效能时有所依据。虽然本规范中定义的测试规范可以应用于基于任何技术制造(RAM,NAND等)之SSD装置,但本规范尤其在预处理(Preconditioning)和稳定状态方面(Steady State)的重点是面向NAND相关产品。
现今主流的NAND-base SSD存取资料方式,是基于NAND-base的SSD控制器将逻辑地址(LBA)映像到NAND媒体上的物理实体NAND层地址(PBA),并透过算法管理,以实现最佳的NAND性能以及其寿命。SSD通过独立于主机的SSD控制器来管理这种LBA-to-PBA映射。这些运作的总和被称为闪存管理(flash management)。下图显示了SSD效能变化趋势,对于SNIA PTS测试概念至关重要。一般情况下,刚从包装盒中拿出来的全新SSD(FOB),在经历短暂的高性能期后,会随着时间增加读写量后,效能下降进入转换阶段(Transition),最后效能逐渐稳定,转入稳定状态(Steady State)的表现。SNIA PTS目标在确保效能测量在稳定状态区域进行,以代表设备在一般正常工作期间的效能。下图也能理解到,虽然不同SSD效能表现不同,但整体趋势可以看出FOB效能最好,随着时间持续存取,SSD会进入一个效能较低,但稳定(Steady State)的状态。
接着,来了解SNIA PTS五项重点测试概念:
1.稳定状态(Steady State)
SNIA PTS效能测试的重点在于稳定状态下的效能测试。为何需要搜集稳定状态下的效能数据,协会这边提到两个主因:
Ⅰ.确保不会将SSD的初始性能(FOB或Purged)视为“典型数据结果”,因为这对SSD来说为暂时效能表现,不能反映SSD在其多数运行时间下的性能表现情形。
Ⅱ.让测试执行者能够观察其趋势,如,围绕在平均值附近的波动在某种意义上是“稳定”的,但背后可能有其他原因(NAND质量,快取等等)导致其波动较大。
2.清除(Purge)
为了确保每次测试结果的一致性,在每次预处理和测试开始前,必须对SSD进行清除操作,以抹除SSD上所有信息,让SSD回到FOB状态。若被测物SSD不支持任何清除方法,则必须在报告中记载未执行清除动作。
3.预处理(Pre-conditioning)
预处理的目的在于促进测试过程收敛达到稳定状态,SNIA PTS定义了两种类型的预处理条件:
Ⅰ.无测试脚本预处理(Workload Independent Pre-conditioning)
Ⅱ.测试脚本相依预处理(Workload Dependent Pre-conditioning)
简单来说,无测试脚本预处理使用独立于测试脚本以外的方式进行预处理,而测试脚本相依预处理则是使用测试脚本。虽然基于测试脚本的预处理不是测试流程中的独立步骤(它发生在每个测试的核心测试循环中),但它对于获得有效的稳定状态结果至关重要。
4.可运作范围(Active Range)
在不同测试条件下,SNIA PTS定义了不同的LBA寻址空间,如下图所示,可以看到左边为全部100% LBA,右边为75% LBA空间。
5.PTS测试流程
SNIA PTS测试流程相同(IOPS、Throughput和Latency),至于其他特定测试流程规范已列于该章节中,这边先不作讨论,测试流程如下:
⑴Purge the device: 清除SSD上面所有资料。
⑵Run Workload Independent Pre-conditioning: 执行无测试脚本预处理(Workload Independent Pre-conditioning )的动作。一般使用128K SEQ Write 对SSD进行两倍容量写入。
⑶Run Test (includes Workload Based Pre-conditioning): 测试本体,按照测试脚本中指定的设置测试参数(OIO/Thread、Thread Count、Data Pattern等),设置完成后,执行测试循环,直到达到Steady State或最多25次循环。根据测试的要求,累积/记录每次循环中间执行过程数据。
⑷Post process & plot the Rounds data: 测试结果处理与绘制循环资料。这边会有两种情况:
a.在25次循环内成功完成测试,假设第X次完成测试,表示该SSD已进入稳定状态,向前推5次(X-4)的这段区间即为量测区间。
b.在25次循环中未能进入稳定状态,则可以选择再次回到步骤3重新执行循环,或者直接用第25次当作稳定状趟。
本篇就SNIA PTS测试概念以及流程带读者导览其中重点内容,从中也可清楚了解到SNIA PTS测试对于server SSD benchmark的重要性,有别于一般测试软件,SNIA PTS更是透过一定时间读写压力,让SSD效能真实呈现。若要评估一颗SSD效能好坏,除了测出该SSD最大效能外,稳定状态下的效能表现我想更具指标意义。
拥有完整server测试环境的百佳泰也已具备执行SNIA PTS的仪器,百佳泰透过与日本知名实验室合作之 Hirota Smart Tester测试仪器,提供完整SNIA PTS测试方案。除了上述SNIA PTS测试以外,更可以依照客户需求,验证客户产品质量。通过百佳泰专业测试验证与解决方案,您可提早发现产品潜在问题,找出的问题也能作为未来产品改版更新的重要依据。更多相关认证测试问题,欢迎填写窗口联系百佳泰。