正文内容 评论(0

2011固态硬盘终极横评、选购指南
2011-11-21 17:17:26   编辑:上方文Q     评论(0)点击可以复制本篇文章的标题和链接

IOMeter 和预训练测试

对大容量驱动器的性能测试业界有不少备受肯定的专业测试工具,例如 SQLIO、FIO、IOMeter,其中 IOMeter 出自上个世纪,由Intel公司于 1998 年 IDF 大会上公布,在 2001 年的时候Intel公司停止了 IOMeter 的继续开发并将源代码公开,使其成为了一个开源项目,只要在 Google 搜索输入 IOMeter 就能搜索到该项目网站。

IOMeter 支持 Raw 盘(未分区)和格式化分区的测试,前者主要适合于机械硬盘的本机原始性能测试,后者主要用于填充不同大小、模板数据后的驱动器性能测试,当然 IOMeter 还能用于网络环境的测试(也是 IOMeter 的另一重要测试功能),不过这并非本文关注的部分。

和机械硬盘不同的是,SSD 需要对无效数据执行 Garbage Collection,一般来说,随着使用时间的延伸,Garbage Collection 就会逐渐对性能构成影响,最终会让 SSD 的写入性能下降到峰值状况下的 1/2 不到的水平(取决于 SSD 本身的各项设计),在使用 IOMeter 测试的时候,为了能反映真实应用下的性能状况,有必要对 SSD 执行一个较严格的测试步骤:

1、对 SSD 执行净化处理,例如对 SSD 执行 ATA 安全擦除指令,将 SSD 恢复至接近未启用状态。

2、对 SSD 执行标准的分区格式化。

3、在 IOMeter 中执行 25 个循环的测试脚本,在 SNIA 的 SSS Client PTS 1.0 中要求先对 SSD 执行两倍于 SSD 容量的 128KB 持续写操作,然后采用混合了不同大小传输块、不同读写比例的脚本(取决于测试的目标,如果是需要随机性能的就是随机脚本,如果是要获得持续性能的,就用持续性能脚本)对 SSD 执行预训练。

SNIA 将跑完一遍所有所有组合的预训练脚本称之为一个回合,每个测试组合必须需运行 1 分钟,SNIA PTS Client 1.0 中提供的随机预训练脚本样例包括了 56 个组合,因此完成一个回合所需要的时间至少是 56 分钟,而一次完全的预训练需要执行 25 个回合,这意味着至少需要跑 1400 分钟,几乎就是一整天。

整理预训练的测试结果,当最后 5 个回合数据高低差别都落在平均值正负 10% 以内、斜率在正负 5% 以内的情况下才会视作 SSD 进入了所谓的稳态或者说此时的测试结果是能反映真实应用性能的。

如果最后 5 个回合的测试结果高低超出正负 10% 或者斜率超出正负 5%,则会视作 SSD 未能进入稳态,测试人员需要再执行 25 个回合同样脚本组合测试,直到进入稳态。

在测试随机性能的时候,这样的预训练需要执行两次,首先是负载不相依的预训练,而后是负 载相依的预训练,两者的测试脚本其实都是一样,但是后者会引入分段式活跃区域的测试,需要将 LBA 切成 2048 个活跃区,每个活跃区的大小为 SSD 的 LBA 大小除以 2048。

5、在 SNIA SSS Client PTS 1.0 中规定,当负载相依的预训练测试完成并进入稳态后,取最后一个回合的测试结果为最终的测试结果。

基本上,单单是完成 SNIA SSS Client PTS 1.0 中的随机测试项目就需要持续地进行两天时间,目前来说这对 SSD 的耐用度是比较苛刻的考验,测试下来掉几个百分比的耐用度甚至导致 SSD 即使经过安全擦除也无法让性能达到全新状态也并不奇怪。

不过另一方面,如果只是将 SSD 写满而不进行预训练就进行测试的话,就无法根据预训练结果来判断是否进入稳态,测试结果反映的到底是什么阶段的性能根本无从谈起。

PCINLIFE 在使用 IOMETER 进行随机性能测试的时候会比 SNIA Client PTS 1.0 简化一些,因为 IOMeter 只提供了控制 LBA 大小的设置,缺乏分段活跃区的设置,因此 SNIA Client PTS 1.0 提到的负载相依预训练及其测试结果也就无法提供了。

事实上完全的 SNIA Client PTS 1.0 测试是有专门的设备和软件来执行,我们在这里只是用 IOMeter 尽量仿照着来做,最主要参考的是它的测试规范和步骤,确保测试结果具有较高的参考价值。

IOMeter 测试步骤和设置

1、使用 Parted Magic v6.6 中 Disk Eraser 的 Secure Erase(其实是 hdparm 的图形化界面)对待测的 SSD 执行安全擦除,让 SSD 恢复至未使用状态。

Secure Erase 和 Windows 7 的快速格式化并非一回事,只有 Secure Erase 才能真正将 SSD 恢复至 FOB(首次开盒)状态。

2011固态硬盘终极横评、选购指南

2、使用 Windows 7 内建的分区工具对 SSD 进行分区,大小为 100%。

3、打开 IOMeter,设置写入模板为完全随机,执行一次 idle 任务,目的是让 IOMeter 向 SSD 写入和 SSD LBA 容量一样的测试文件。

由于不同的 SSD 容量不尽相同,为了做到一致的测试结果,我们选择全盘空间来测试。

2011固态硬盘终极横评、选购指南

2011固态硬盘终极横评、选购指南

2011固态硬盘终极横评、选购指南

4、执行两倍于 SSD 容量的 128KB 连续写操作。

首先执行一次 1 分钟的 128KB 连续写操作,获得测试结果。

然后将 SSD 容量除以这个测试结果,获得执行两倍于 SSD 容量的 128KB 持续写操作所需要的时间。

例如一个 128GB SSD 的测试结果是 188MB/s,就用 (128GB*1000)/188=688 秒,(688*2)/60= 22 分钟。

测试脚本的存储规格设置如下:

2011固态硬盘终极横评、选购指南

5、执行 25 个回合、每回合包含多种读写比例(包括 0%、5%、35%、65%、95%、100% 写入)、传输块大小(包括 0.5KB、4KB、8KB、16KB、32KB、64KB、128KB、1024KB)组合、每个组合各 1 分钟时长的随机读写测试作为预训练。

测试脚本的存储组合设置示例(图中是 1024KB、5% 写入)如下。

2011固态硬盘终极横评、选购指南

为了减少 icf 大小,我们将 .icf 设置为一个回合的测试脚本,然后以命令行方式执行 25 次即可实现 25 回合测试(需要等待 1400 分钟),以 Plextor PX-128M2P 的测试结果整理出其中 100% 写入的测试结果为例,见下图(x 坐标轴的标签是代表回合数,不是分钟数)。

2011固态硬盘终极横评、选购指南

2011固态硬盘终极横评、选购指南

上图是我们在 Plextor PX-128M2P 128GB 执行 25 回合 100% 随机读写后汇总的测试结果而绘制的图表,可以看到最后 5 回合(第 21 回至第 25 回)的测试结果之间差别都在正负各 10%、斜率线位于正负 5% 的范围内(都是 2892 IOPS 附近),故此我们认为此时 SSD 已经属于稳态。

6、整理最后一个回合的数据,制作出各类图表,例如下面的三维图表:

2011固态硬盘终极横评、选购指南

责任编辑:

  • 支持打赏
  • 支持0

  • 反对

  • 打赏

文章价值打分

当前文章打分0 分,共有0人打分
  • 分享好友:
  • |
本文收录在
#快讯

  • 热门文章
  • 换一波

  • 好物推荐
  • 换一波

  • 关注我们

  • 微博

    微博:快科技官方

    快科技官方微博
  • 今日头条

    今日头条:快科技

    带来硬件软件、手机数码最快资讯!
  • 抖音

    抖音:kkjcn

    科技快讯、手机开箱、产品体验、应用推荐...