存储 频道

测量固态硬盘(SSD)性能的正确方法

  【IT168 资讯】据英特尔有关人士透露,在未来几年,英特尔IT将100%采用(固态硬盘)SSD解决方案,而SSD较之传统机械硬盘本身的优越性必然会成为企业IT部门的主流解决方案。但是由于SSD制作工艺及技术的创新,导致检测SSD性能的方法与传统的机械硬盘检测方法迥然不同。那么如何正确检测SSD的性能呢?这是本节课程所要讨论的问题。

  性能测试的重要性

测量固态硬盘(SSD)性能的正确方法

  上图是除了硬盘不同以外,其他软硬件均配置相同的两台华硕G60J笔记本——英特尔酷睿i5 M430,英特尔 HM55芯片组,4GB(2X2GB)DDR3 DRAM ,英伟达GeForce GTS 360M显卡,Windows 7 Home Premium 64,英特尔Rapid Storage Technologr驱动 10.1.0.1008.HDD系统为Momentus 7200rom的希捷ST9500420AS 500GB HDD;SSD系统使用300 GB 英特尔固态硬盘320系列。

  由此观之,性能测试对于企业IT部门来说是很重要的。

  巧妙复杂的SSD

测量固态硬盘(SSD)性能的正确方法

  SSD是以一page写入,而擦除则是以block为最小单位。所以全新的SSD因为数据顺序写入,所以能达到非常好的性能。而使用过的SSD则将新数据写入空白区域,然后原始数据被标注无效,当需擦除数据时,以NAND数据块(block)为单位进行擦除。其总结起来,有以下两个过程:

  移动有用数据块;

  擦除数据块并更新数据映射表。

  性能测量的方法

  由于SSD是采用全新的制作工艺,为了全面衡量其品质,特采用以下的测量方法:

  综合性测试法

  规律性的I/O操作(顺序、随机读/写)

  典型工具:Iometer,CrystalDiskMark

  应用型测试法

  调用实际应用的脚本并用时间来衡量

  典型工具:SYSmark

  轨迹型测试法

  记录用户或脚本的I/O操作时序并予以回放

  典型工具:PCMark Vantage,HDD Score

  不同测试方法得到的对立结果(如图所示)

测量固态硬盘(SSD)性能的正确方法

  值得欣慰的是:所有的测量方法均显示SSD比HDD要快得多

  而存在的问题:针对相同的SSD,不同的测试方法会导致迥异的结果

测量固态硬盘(SSD)性能的正确方法
▲综合性测试方法对于SSD来说,过于简单

测量固态硬盘(SSD)性能的正确方法

  应用测试应该是非常好的的,因为最接近实际使用情况,但是只有一小部分的系统测试指标对硬盘敏感。甚至那么硬盘敏感型应用也常与硬盘本身存在较为有限的相关性。如:

  对CPU敏感:MPEG2到MPEG4的格式转换

  对两者都敏感:打开视频编辑器

  对硬盘敏感:加载MPEG2文件,保存MPEG4文件

  轨迹测试法:潜力无限

测量固态硬盘(SSD)性能的正确方法

  以轨迹为基础的测试方法很好的模拟了真实应用情形:

  对现实用户所有的I/O操作进行追踪和采集

  然后将采集的I/O轨迹回放到测试盘

  回放过程中对测试盘的I/O再一次进行跟踪采集

  记录的是I/O操作时间,而不是系统所耗时间

  不同的轨迹

  人为设置的vs 真实的;使用模式的差异,采集时间短vs长

  此外,轨迹时序也值得考虑

  不同的回放方法

  不同的工具和选项,轨迹不加修改直接回放vs加以修改后回放

  数据预填充,单任务顺序运行,多任务运行等

  不同的统计指标

  高迸发部分回放vs全部轨迹回放vs两者组合

  MB/s vs 延时 vs 时间

  数据预填充 & 工作负载的实际影响

测量固态硬盘(SSD)性能的正确方法

  通用的基准 测试(SYSMark*, PCMark* CrystalDiskmark*) 通常写入量较少,使用LBA地址范围有限,仅能填充到空白区,且工作负载的组合并不典型。并且用户不希望他们的数据被改写,再者不同的数据预准备其结果也将会发生变化,还有刚好写入空白区出现非常好的性能的情况,因此,测试必须要达到一种“稳态”性能。

  基于轨迹的性能测试试验: 配置

  工具:

  英特尔性能评估分析套件(IPEAK)

  PCMark Vantage*中所使用的同样工具

测量固态硬盘(SSD)性能的正确方法

  方法:

  将保存的用户轨迹予以回放

  回放过程中跟踪被测设备的性能

  分析结果,定义指标记分方法

  被测设备:

  英特尔SSD,非英特尔SSD,HDD (7200 & 10K RPM)

  轨迹来源:

  – 办公用的预装Windows 7*的笔记本电脑

  – 没有人为加速设置

  – 读/写、LBA地址范围以及存储的数据与真实的应用模式相匹配

  – 数据来源于配置有SSD的系统,因此数据采集时间是一大挑战

  – 10天的跟踪,包括~70 GB写和~120 GB的读

  回放:

  – 轨迹回放两遍: >>SSD容量, 以得到稳态性能

  – 硬盘的每个LBA都被预先写入数据– 对于SSD来说最恶劣的情形

  – TRIM操作在回放时被略过–以使SSD一直处于写满状态

  – 采用原始的时序,但有两点不同

  命令间的停顿保持恒定,完成一项操作后立刻进行下一项操作以求与真实的使用情形相仿

  大于25ms的停顿被缩减为25ms,以平衡脏数据回收时间和整个测试时间

  – 曾尝试过10x时间(250ms),区别有限

测量固态硬盘(SSD)性能的正确方法

  数据传送量vs时间的图表显示了高I/O操作导致的阶跃: 迸发性的IO需求

  那些急速上升的点看起来是非迸发性的,然而事实上其恰恰反映了230 MB/s的迸发性的IO需求!

  迸发点通常是I/O操作对性能影响较大的时间段

  – 通常的“沙漏瞬间”,像打开应用、保存文件等操作

  – CPU发送请求快于SSD可以响应的时间

  非迸发的时间段有时会有稍许影响,但一般来讲影响甚微

  – 例如: 从网上下载数据并不依赖于硬盘的速度

  迸发分析

  选择迸发轨迹所需的两个 原则:

  – 至少10MB数据传输

  – 没有大于100?s的停顿时间

  按照上述原 则采集 的迸发 轨迹看 起来能 很好的 测试SSD的峰值性能

  – 总共50GB的数据传输,远大于大多数基准测试

  – 平均98%的繁忙时间,只有2%命令间歇

  – 平均序列深度为20

  – 平均迸发为30MB,最大是~750MB

  迸发轨迹 vs 全轨迹测试

测量固态硬盘(SSD)性能的正确方法

  迸发轨迹测试和全轨迹测试的性能呈线性相关,但不够明显

  同样的盘有平均12%的偏差,最大偏差达到25%

  短时间 vs 长时间轨迹

测量固态硬盘(SSD)性能的正确方法

测量固态硬盘(SSD)性能的正确方法
▲未来的SSD

  SSD的性能在当前应用环境下并未得到完全体现,如今的应用程序和操作系统大多针对HDD开发,尽管消除90%的存储时间是那么的完美,但是这种好处却受到应用程序和操作系统的制约。相信在未来,应用程序和操作系统的改变将允许系统充分利用SSD不断提升的性能。

测量固态硬盘(SSD)性能的正确方法

0
相关文章