扫一扫
关注微信公众号

如何正确测量固态硬盘性能
2011-04-18   IT168网

据英特尔有关人士透露,在未来几年,英特尔IT将100%采用(固态硬盘)SSD解决方案,而SSD较之传统机械硬盘本身的优越性必然会成为企业IT部门的主流解决方案。但是由于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是以一page写入,而擦除则是以block为最小单位。所以全新的SSD因为数据顺序写入,所以能达到最佳性能。而使用过的SSD则将新数据写入空白区域,然后原始数据被标注无效,当需擦除数据时,以NAND数据块(block)为单位进行擦除。其总结起来,有以下两个过程:

移动有用数据块;

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

性能测量的方法

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

综合性测试法

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

典型工具:Iometer,CrystalDiskMark

应用型测试法

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

典型工具:SYSmark

轨迹型测试法

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

典型工具:PCMark Vantage,HDD Score

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

 

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

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

 

综合性测试方法对于SSD来说,过于简单
 

 

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

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

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

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

轨迹测试法:潜力无限

 

#p#副标题#e#

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

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

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

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

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

不同的轨迹

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

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

不同的回放方法

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

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

不同的统计指标

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

MB/s vs 延时 vs 时间

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

 

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

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

工具:

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

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

 

方法:

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

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

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

被测设备:

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

轨迹来源:

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

没有人为加速设置

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

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

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

回放:

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

迸发分析

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

至少10MB数据传输

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

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

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

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

平均序列深度为20

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

迸发轨迹 vs 全轨迹测试

 

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

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

短时间 vs 长时间轨迹

 
 

未来的SSD

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

 

原文链接:http://tech.watchstor.com/labs-130929.htm

热词搜索:

上一篇:存储虚拟化并不简单 五步骤改变数据中心
下一篇:从无线网络加密看网络安全等级划分

分享到: 收藏