分享

真实体验还是YY,如何看透SSD跑分测试迷局

 人人驿站 2014-04-17
如何衡量SSD的性能,是很多玩家关心的问题。无论是比拼开机速度,还是比较开启程序所需时间,都会因为电脑配置不同而不具可比性。同时,影响SSD性能表现的因素也有很多。在面对“我的SSD现在性能表现是否给力”、“新型号SSD能比我现在用的这个快多少”这类问题时,我们只能求助于纷杂的SSD测试软件。我们又该如何看待测试软件的成绩差异?
 

首先要回顾一下测试软件中常见参数指标的意义。

持续读取/持续写入:对LBA地址连续的大块数据进行连续的读取/写入操作。LBA地址连续,指的是文件系统中逻辑地址的连续,在机械硬盘中这意味着数据能够被连续读写而无需频繁切换磁道进行读写,寻道时间正是影响机械硬盘性能的一个重要因素。最典型的持续读取/写入情境是两个性能相当的硬盘之间拷贝大容量的电影文件。

4K随机读取/写入:Windows文件系统使用“见缝插针”的策略进行写入操作,会选择最靠近当前位置的空白位置进行写入,写不下的数据则跳到下一个空白位置继续写。这样一段时间以后数据在硬盘上的分布就趋于随机化,随机读取/写入在磁盘活动中占据了主导地位。

文件系统中的数据区块很多都是以4KB为单位进行操作的,因此4K随机性能成为了随机访问性能的代表。4K随机读取/写入不仅表示每次请求的数据区块大小为4KB,随机更表现在文件对应LBA地址的随机性。在机械硬盘中这意味着磁头需要多次切换磁道才能完成数据的读写,由于寻道时间是机械硬盘的软肋,机械硬盘的随机性能相对都很差。SSD使用闪存作为存储介质,不存在机械活动进行寻道的问题,因此在随机性能上毫无压力的超越机械硬盘。4K随机性能对于日常使用性能表现很重要,但是家用领域的磁盘压力较小,从机械硬盘到SSD,4K随机性能已经发生了质变,再加上有操作系统缓存影响,过度夸大4K随机性能的作用也是不可取的。

4K队列随机读取/写入:4K队列随机读取/写入通常被标识为4K QD32或4K 64Thrd等,分别代表队列深度为32和64。4K队列存取性能反映了硬盘并行处理数据的能力,在开启AHCI的情况下,SSD能够一次完成多个IO操作,提升多任务处理能力。4K队列这个性能指标对于存储服务器领域十分重要,但是对于家用来说,由于负载不高,日常使用的队列深度往往只有个位数,这个情况下SSD处于吃不饱的状态,再高的4K队列能力也无助于提升性能表现。

有哪些因素会影响到SSD测试软件的成绩呢?

1.        硬件平台因素
一般来说,Intel 7系、8系芯片组是最适宜跑出漂亮分数的,而相对来说AMD平台的磁盘性能表现就略差一些。这不仅和南桥磁盘控制器有关,也和CPU运算效率有关。使用A平台的用户在跑分上落后于其他网友的成绩是比较常见的现象,当然也不必因此而更换平台,关于跑分差距的意义在文章后边我们会再次分析。

2.        AHCI工作模式
开启磁盘控制器的AHCI工作模式可以提供NCQ命令队列排序功能支持,提高4K队列的测试成绩。目前比较新的主板出厂就已经是默认AHCI工作模式了。

 

AHCI与IDE模式跑分以及日常使用差距的测试,可参考浴大的这篇评测:家用环境下跑分相差悬殊的实际使用到底相差多少之 第八期

3.        SATA接口速度因素
当前主流SSD的持续读写速度都已经突破了SATA2.0接口带宽的上限,因此应尽可能使用SATA3.0接口来连接SSD。特别是主板芯片组原生的SATA3.0接口,相比第三方SATA3.0接口的延迟更低,性能表现会更好。

当然,如果在当前主板没有SATA3.0接口的情况下,使用SATA2.0接口也是可以的,这时受限的主要是连续读取和连续写入速率,当然还有4K队列速度。关于SSD运行在SATA2.0速率下,性能会损失多少,可以参考浴大的测试:家用环境下跑分相差悬殊的实际使用到底相差多少之 第七期

4.        磁盘控制器驱动因素
除了I/A平台间的差异之外,相同硬件平台之下,磁盘控制器驱动也会影响跑分的成绩。大家都知道Windows 7下安装Intel RST驱动后的跑分,会比Windows 7自带的微软msahci驱动跑分高出一些。这是因为Intel RST驱动(尤其是11.7之后的版本)增加了更大的内存区域作为缓存,这会影响跑分的稳定性,比如多次跑分之间的误差会变得更大。新版本的Intel RST驱动中对于节能特性的支持更多,但同时带来了很多与节能相关的SSD卡顿问题,因此我们的版主不推荐大家在无跑分需求的情况下安装Intel RST驱动。

5.        分区对齐因素
SSD存储介质NAND的最小读取与写入单位是“页”,一般为4KB(部分新颗粒有所不同,有8KB,16KB等)。传统Windows的分区是从磁盘上的第63个扇区(63 x 512B = 31.5KB)开始,分区未4K对齐会导致跨页操作,严重影响SSD的性能。其实不仅是SSD,现在的机械硬盘也已经普及了“高级格式化”标准,同样需要4K对齐才能发挥正常的性能。4K对齐的意义与影响可以参考James007ss的这篇文章:固态硬盘傻傻问系列(第2期:固态硬盘该如何分区和对齐)

6.        CPU主频与节能因素
各种跑分软件的运行离不开CPU的运算与控制,细微的时间之差就会表现在速度和分数差异上。提高CPU主频能够全面提升SSD的跑分成绩,其中最为明显的是4K随机读取/写入成绩。

下面是华硕P8Z77-V主板、I5 3470平台下的一组AS SSD Benchmark测试,在CPU频率固定在1.6Ghz的情况下海盗船Neutron 240G可得到如下成绩:

 

而将I5 3470的频率固定到3.8Ghz,其他条件不变的情况下,各项成绩都发生了很大变化:
 

更高的主频可以带来更高的持续读取/写入、4K随机读取/写入成绩。仅仅是CPU主频的不同,同一块SSD就能得到完全不同的成绩,这也是AS SSD Benmark 成绩不可靠的一个表现:成绩掺杂了SSD之外的其他因素影响。
 

CPU开启节能特性后会在系统闲置时自动降频,虽然有负载后会恢复到正常频率,但恢复过程毕竟是需要反应时间的,所以CPU节能也会产生和主频降低类似的影响。这些CPU节能特性有:CPU Enhanced Halt(C1E)、C3/C6 State、EIST。关闭这些节能特性后会提高SSD测试软件成绩,但节能关闭后CPU闲置时无法进入低功耗状态,会消耗更多电力和产生更大的热量,这对于移动平台来说往往是得不偿失的。
 

7.        系统背景IO干扰因素
测试SSD的时候我们往往需要一个“干净”的系统,并将SSD作为从盘(非系统盘)来测试,这是因为操作系统中有大量背景读写操作。各种系统日志的写入、Superfetch预存取的操作、迅雷/PPS等系统常驻程序开启时的静默数据读写等等,都会产生读写操作,对SSD测试产生干扰。很多用户的电脑都不知不觉中被安装了大量的流氓软件和系统插件,这些也会给不同测试环境中的成绩对比带来干扰。另外不得不提的一点是,某些杀毒软件会对SSD测试成绩产生非常大的影响,比如卡巴斯基。越是能力强悍的杀毒软件,对于当前正在读写数据的检查也越严格,带来更大的数据读写延迟。

 

8.        不同主控特性因素
说道主控自身特性对于SSD测试成绩的影响,首先要提到的就是测试数据模型可压缩度因素。由于SandForce压缩特性的存在,使得衡量SandForce主控SSD产品的性能变得异常复杂和困难。

起初,SandForce主控的SSD都以ATTO这种默认使用完全可压缩数据的软件测试成绩来标称速度。不过很快我们就发现这种测试方法就是作弊,因为现实使用中的数据不是这种理想状况的。而后Crystal Disk Mark与AS SSD Benchmark为代表的SSD测试软件开始占据主导,他们的默认测试数据都是完全不可压缩的。从完全可压缩到完全不可压缩,一个极端到另外一个极端,显然这样的测试基准对于SandForce来说也是不公正的。但是到底我们日常使用的数据可压缩度有多高?Anvil's Storage Utilities认为应用程序的平均可压缩率为46%。不过每个人的常用软件各不相同,比如有些游戏在加载过程中会读取地图材质文件,这些文件往往是压缩格式的,也就是说不能再压缩了。

主控自身特性对于SSD测试成绩的影响还表现在GC算法带来的不可恢复掉速。以浦科特为代表的优秀SSD现在都已经做到了有Trim支持条件下的基本不掉速。不过市场上也不乏JMF667H和SandForce这类使用后会有不可恢复情况出现的主控产品。特别是SandForce的情况最为复杂。因为SandForce坚持被动GC的策略,主控收到Trim指令后也不会立即对所有无效块进行擦除操作,NAND写入前需要先进行擦除,这可能会影响写入速度。另外一方面,由于SandForce的压缩特性,实际写到NAND闪存中的数据很大可能会比预计的要少,这样可以省出额外的空白块,又可能会提升下次写入时的速度。总的来说,SandForce的性能和使用习惯也有关,之前写入到盘中的数据,会影响后边的写入性能。SandForce几乎没有一个具有公信力的标准状态可以作为基准来进行测试,他的性能是随时变化的,要进行严格的性能评价,就如同给月亮量体裁衣——总也量不准。这也是为何媒体测试会将出厂态作为基准的原因,并非媒体刻意美化成绩,而是SandForce除了出厂态之外,的确没有一个合适的状态来进行测试(稳定态不能反映家用使用条件)。

以上种种因素都会影响到SSD跑分软件的精准度,并且AS SSD Benchmark等测试软件本身就偏向于理论测试,而没有能够很好的反映不同SSD之间实际使用的性能差距。James007ss版主对于AS SSD Benchmark测试过程的分析仙賢戀軒版主从数学角度对其评分公式的解读,都证明了这一点。此外,真实应用环境中的磁盘IO不是各种连续读取、连续写入或4K随机读、随机写的整齐排序进行,而是混杂了读与写的同时进行,而这种情况下的性能是远低于纯粹读取或者纯粹写入的。大家感兴趣的话可以看一下本站精英玩家sohueasy翻译的LSI对于SSD性能测试的资料

YY无罪,但用YY的跑分数据来判断一个SSD的好坏,则是很愚蠢的行为。依靠常规跑分软件是无法精确衡量SSD性能的,目前来看只有PC Mark这样使用实际应用的记录-回放式测量方式最为贴近实际使用的情况。不过PC Mark的局限性在于测试内容固化,不能由用户根据自身情况进行选择。PCEVA目前正在寻求一种类似PC Mark的记录-回放式评测方法,现在还有一些兼容性问题没有解决,日后一旦完成将会加入到之后的SSD评测之中。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多