【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文件
轨迹测试法:潜力无限
以轨迹为基础的测试方法很好的模拟了真实应用情形:
对现实用户所有的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不断提升的性能。