SSD性能基准测试的真相
固态存储厂商正在兜售“百万IOPS”的性能数据。以下是您需要知道的,以了解这些SSD性能基准测试是否正确。
固态存储厂商正在兜售“百万IOPS”的性能数据。以下是您需要知道的,以了解这些SSD性能基准测试是否正确。
看起来似乎每周从存储供应商吹嘘它的新绩效申请100万IOPS固态存储系统.由于其中一些公开了缺乏披露固态驱动器(SSD)性能基准,用户可能很难理解这些百万IOPS性能数字意味着什么,以及它们与当前存储性能问题之间的关系。
数据存储供应商不遗余力地展示他们的产品的高性能,并向存储经理证明他们的产品可以处理大量的数据中心活动。固态供应商开始发行固态硬盘性能基准测试,用于演示1U或2U固态存储设备的性能如何优于由数千个驱动器组成的大型企业级存储系统。供应商还希望证明,他们不仅可以在如此小而高效的占地面积内实现100万IOPS,而且可以以高端存储阵列的一小部分成本实现这一目标。
但是游乐场远非水平;例如,高端存储系统具有多大状态存储产品无法匹配的数据保护和数据管理设施。许多存储供应商包括销售高端企业存储,正在赛车关闭该差距,为用户提供最佳世界:性能,价格,数据保护和管理。最近,他们与企业解决方案达到了100万IOPS,包括细分,快照,复制,基础架构管理和监控等功能,以及对服务器虚拟化接口的API支持,如VMware的vstorage API(VAAI)。
提供基于控制器的存储的供应商一直在重新设计其存储控制器以处理提高性能容量由今天的ssd提供。动态分层的添加允许高度活跃的数据由固态存储层自动提供服务。如果配置和调优得当,这将大大增加工作负载的性能.较少频繁访问的数据仍然存储在旋转介质上以最小化成本。
基准与负载发电机
出于比较的原因,讨论基准测试与负载生成器的使用是很重要的。许多已发布的结果被错误地标记为基准结果,当您想要比较结果时,这可能会造成混淆。通常,load Generator被误认为是基准测试,因为load Generator可用于创建基准测试。
基准测试是一个固定的工作负载,它有报告规则和围绕它的固定的度量方法,因此特性不能改变。标准的行业基准测试施加了进一步的限制,通常需要一个独立的审查人员来确保结果的遵从性。这确保了用户可以在相似的产品之间进行“苹果对苹果”的比较。目前有两个提供存储行业标准基准的标准机构(见图表“当前行业标准存储基准”):存储性能委员会(SPC)和标准性能评估公司(规格).
负载发电机是用来模拟所需负载用于性能表征或帮助揭示系统或产品中的性能问题。这些生成器具有调整所需工作负载特性的“旋钮”,不仅被性能专业人员使用,而且被测试组织用来验证产品的既定规范。通常无法将结果与其他供应商的结果进行比较,因为无法保证在测量被测系统时测试条件相同。
意识到这些差异很重要,因为100万IOPS结果中的每一个都可能是由不同的供应商在不同的条件下测量的。有些结果具有人为的高缓存效果,在正常操作环境中很难重现,而且它们通常缺乏充分的披露,无法在自己的数据中心重现测试。题为“流行的I/O生成器工具”的图表显示了性能测试实验室目前使用的两种最流行的负载生成器。还有许多其他由主要存储供应商创建的优秀生成器正在使用中,但这两个生成器在这里之所以出名,不仅是因为它们很受欢迎,而且是因为它们在http://sourceforge.net.
大多数IOPS结果都是基于512字节块的测试。但是大多数企业在线事务处理(OLTP)应用程序使用的数据传输大小为4 KB或8 KB。各种供应商测量的百万IOPS性能数字表明,对于性能良好的固态存储,4 KB传输的性能大约比512字节块低20%(大约800,000 IOPS),与使用512字节块进行测量相比,一些性能不佳的固态产品的性能可能会下降40%。此外,大多数百万IOPS结果都是比测量的应用程序或工作负载性能数字更多的速度和输入信息。
固态存储器的测量
固态存储具有独特的行为特性,并且与硬盘驱动器(HDD)不同,不具有需要考虑的活动部件。HDD指标等旋转延迟和搜索时间不适用于。因为消除了那些延迟,所以响应时间通常以微秒为微秒来测量固态而不是与HDD一起以毫秒为单位。对于最终用户(这些结果的消费者)非常重要,以了解如何执行这些测量以确保报告的结果代表可验证和可持续的性能水平。
并非所有固态硬盘的性能都是一样的。SLC (Single-level cell) ssd比多级单元(MLC)SSD.基于DRAM的固态存储目前被认为是最快的最快,平均响应时间为10微秒而不是其他SSD的平均100微秒。企业闪存设备(EFD)旨在处理Tier-1应用程序的需求,性能和响应时间与较低昂贵的SSD相似。EFD具有企业级数据保护和管理功能,有时是在绩效方面是小型权衡,具体取决于供应商。每个制造商都创造了自己的制造商磨损算法算法,有些算法可以随着时间的推移在性能下产生大滴写密集型工作负载.考虑的其他因素是用于访问SSD的存储协议。光纤通道仍然是最高的执行协议,但SAS将落后于此。iSCSI和SATA对SSD进行了良好,但大多数技术内置的产品都不会产生100万IOPS结果,除非他们有其他缓存功能以协助性能。
固态存储器在I/O路径中的位置也可能是产生百万IOPS结果的一个因素。如果固态器件靠近主机,则更容易实现微秒响应时间。许多供应商利用了这一事实PCI Express(PCIe)闪存卡和SSD插入像内部HDD等主机。为了确保宿主侧,固态存储,智能软件等公司的最大性能,包括Fusion-IO,LSI,近端数据,SanDisk和Velofit等公司可以帮助优化性能主机端SSD和PCIe闪存卡的数量。
甚至管理程序供应商也通过演示单个虚拟机如何像物理服务器一样驱动100万IOPS来实现百万IOPS报告。VMware使用了一个流行的I/O负载生成器,使用小提琴内存6000全闪存存储阵列获得了上百万IOPS结果。在不同的测量条件下,微软甚至发布了Windows Server 2012 100万IOPS的结果。这两种结果都是在非常不同的条件下测量的,所以这是两个不能进行竞争性比较的结果的一个例子,因为每个结果是在不同的条件下测量的。
固态存储性能测量
固态存储性能有不同的性能测量要求因此,确保公布的结果正确地遵循了固态存储性能过程是关键。为了证明固态材料的持续性能,需要执行以下四个主要步骤:
- 创建一个共同的起点。固态存储器需要处于已知的、可重复的状态。常见的起点是从未使用过的新SSD,或者在SSD上执行低级格式以擦除内容并将其恢复到原始状态。
- 调节. 固态存储器必须处于“已用”状态。在最初的测量中,固态将显示人为的高性能,这只是暂时的,不可持续的。这些数字不应该被报道为固态电池真正持续性能的证明。例如,如果对存储器执行随机4 KB写入操作大约90分钟,则应将存储器置于“已使用”状态。根据制造商的不同,调节所需的传输大小或时间量可能会发生变化。
- 稳定状态。性能水平将达到可持续利率;这是应该报告的性能水平。
- 报告。报告水平很重要。如果未使用需要完整披露的标准基准,则需要最少的信息量。I / O的类型很重要。大多数结果报告为100%随机读数,因为随机写入差的性能。使用固态存储,大多数随机写入工作负载不会比HDD系统产生的性能更好。一些结果报告还将披露未完成的I / O的数量,如果加上报告的平均响应时间,则是一个“很好”的信息。
即使遵循了这些重要的步骤来衡量固态存储性能,如果没有某种公平使用规则的比较标准,仍然很难比较结果。关于这四个步骤的更多信息可以通过存储网络工业协会(SNIA)找到。固态存储计划(SSSI).
标准组织备份他们的SSD基准
行业标准基准测试和其他被广泛接受的基准测试是获取竞争性比较的最佳方法,并充分披露供应商的产品供应。这些基准测试通常基于应用程序工作负载,并围绕度量、独立认证和/或审计以及报告有严格的规则。这些规则是为了最终用户的利益而制定的,声称一个独立的第三方已经验证了信息,并且遵守了报告规则。此外,这确保以相同的信息和相同的格式全面披露,以便于消费并与对其他产品进行的测试结果进行比较。
像SPC、SPEC和SNIA SSSI这样的标准组织是行业组织制定标准以确保对固态存储性能进行适当测量的很好的例子。例如,SPC工作负载是基于一级应用程序的,不能与100%随机读取结果进行比较。
固态技术仍在不断成熟,包括寻找以固态为基础的产品保持长期高性能的最佳方法。通过了解这种高性能技术是如何度量的,您将更好地了解它可能在何处提高任务关键型应用程序的性能,以及数据中心中的虚拟化和云基础设施。
关于作者:
莉亚·舍伯是位于科罗拉多州博尔德市的Evaluator Group的高级合伙人。