固态存储性能测试:步骤和基准
2013-05-28 TechTarget中国 编辑:Joe
数据存储厂商声嘶力竭地吹嘘他们的固态存储产品有多高性能,力图让存储经理们相信产品在数据中心处理中能实现大容量的读写功能。为此,我们对固态存储性能进行测试。
固态存储测试
与一般的硬盘驱动器(HDD)不同的是,固态存储器没有读写磁头,不需要转动,也就不存在常见的寻道时间和旋转等待时间。没有了旋转等待,固态存储的响应时间可以达到微秒级,而通常的硬盘需要毫秒级。这个测量值很重要,可以帮助最终用户理解怎么样使用它去保证性能测试的结果不仅是可验证的,同时也是可持续的。
固态存储器自身也良莠不齐。单层式固态存储器的存取时间比多层式的要快。基于 DRAM 的固态存储是目前被认可最快的,平均响应时间是10微秒,比其它的100微秒的快了10倍。企业级闪存能满足 Tier-1存储达到价格稍便宜的固态存储的性能和响应时间。企业级闪存在企业级的数据保护和管理优势,对于厂商来说,仅从性能角度看,它也不失为权衡之计。每个生产商开发各自的平均读写演算法,其中有些算法可能在写入密集型工作量应用中引起性能大幅下降。另外,存储协议也是衡量固态存储器的重要因素。光纤通道协议应用最广,串行连接SCSI接口也并不逊色。基于互联网 SCSI 和 SATA 接口的固态硬盘的性能测试并不能达到百万级 IOPS 读写结果,除非带缓存功能。
影响百万级 IOPS 性能的因素还有固态存储在 I/O 读写路径中的定位,离主机近的话,响应时间可以缩短到微秒。许多厂商自然会想到采用 PCI-E 接口闪存卡,和网络硬盘一样直接将固态硬盘连接到主机。诸如 Fusion-io、LSI、Proximal Data、SanDisk 和 VeloBit 纷纷加入,为能分得最大性能的一杯羹。
甚至系统管理程序商家也加入阵营,宣称一个虚拟机可以实现百万级 IOPS 读写,就跟物理服务器一样。得益于 Violin Memory 的6000全闪存阵列, VMware 采用最常见的 I/O 物理机同样也能达到相同测试结果。在不同测量条件下,微软竟然对外推出百万级 IOPS 读写的 Windows Server 2012 。令人遗憾的是,双方在不同条件下测试出相同的结果,并不具有可比性。
固态硬盘性能测试前的准备工作
固态存储性能与通常的硬盘驱动器的性能测量要求不同,所以保证公开的测试结果要符合固态存储性能程序是关键问题。以下是四个步骤,可以实现持续的固态存储性能:
1. 创建一个共同起始点。固态存储首先是一个常见的可重复的状态。通常这个共同起始点必须是一个全新的固态存储,以前完全没有被使用过,也没有采用低格工具进行清除内容和恢复到初始状态。
2. 条件作用。固态存储器首先要设定为“使用”状态。测试初始阶段呈现的人为高性能,只是暂时的,不具可持续性。所以该阶段的数据不能反应问题,不需要进行记录。如果4KB写入需要90分钟,检查一下存储器状态的设定是否正确。针对不同厂商,写入字节和所需时间也不尽相同。
3. 稳态。当性能水平稳定在可持续性阶段,记录测试结果有效。
4. 测试报告。测试报告不容小觑。如果没有采用完全公开的标准基准,至少有些信息比如 I/O 读写类型必须要公示。多数公布的结果全部来自于随机读取,而忽视随机写入,只因写入降低性能水平。多数情况下,在随机写入工作量方面,通常一般硬盘要强于固态硬盘。理想的测试结果就是在 I/O 读写量的基础上加上平均响应时间。
即使是严格按照上述四步去执行,如果没有合理使用规则的比较标准的前提下,也很难对测试结果进行客观比较。全球网络存储工业协会(SNIA)发布的固态存储创新(SSSI)项目中,对上述四步骤有详细解释。
标准机构推崇固态硬盘基准
工业标准基准和其它广为接受的基准,是目前针对市场上不同测试结果的最好的评估方法。它们是以应用工作量为基础,测量规则严格,以最终用户利益为重,经第三方认证,独立完成审核和发布。而且发布的测量结果,其内容统一和模版一致,以便对其它产品进行测试比较。
诸如存储性能理事会(SPC)、标准性能评估机构(SPEC),以及全球网络存储工业协会(SNIA)发布的固态存储创新(SSSI)项目这些标准机构,在一定程序上有力地规范并保证了固态存储性能测试的合理性。基于 Tier-1的 SPC 工作量,如果要跟全部来自随机读取结果进行比较,就失去意义。
固态存储技术还并不成熟,需要去探索最好的方法保证固态存储产品能可持续地发挥高性能。读到这里,你应该大致明白如何测试高性能技术,从而帮你理解在实际应用中哪些关键任务的性能水平有待提高,以及实现数据中心的云架构的虚拟化。