8月28日 HDD机械硬盘几乎没什么随机性能,所以测试时跑几个读写速度测试就算完了,但是SSD固态硬盘的情况复杂的多,读写过程不一样,随机性能也不一样,主控、NAND类型及OP空间的不同导致性能差异很大,而越用越慢的特性也让初始性能和日常使用性能泾渭分明。
我们常用的SSD测试软件包括CDM、AS SSD、ATTO、Anvil、IOMeter,还有考验综合性能的PCMark系列,这些软件各有各的特色和优点,但是有没有想过这些软件测出的性能其实并不一定准呢?
在本月中旬的全球FMS闪存会议上,已把SandForce纳入旗下的LSI公司市场总监、Flash部门高级总监Kent Smith做了“不要让你喜欢的测试软件欺骗你”的演讲,谈到了目前SSD基准测试软件所面临的问题,来看下PCWatch网站的报道。
Smith先生首先说到,性能测试面临的问题可分为两部分,一个是性能测试自己的,一个是用户自己运行测试的。第一个,工厂里的测试是人为模拟的,因为现实中每个用户的使用情况都是不同的,电子产品测试和现实测试是不一样的,这在业界是常识,并仅仅局限于存储产品。用户需要知道,基准测试不一定能反应真实性能。
他指出,进行SSD测试之前,首先要做的是预调(preconditioning),SSD发货之后的性能取决于它的写入历史,因此测试前需要将SSD恢复到初始状态,如果不进行这个过程,那么SSD测试得出的结果可能就不合理。
目前的SSD测试所存在的问题 这里列举的是一些SSD测试存在的问题:理论测试与现实脱节、更关注孤立情况、通常使用最坏数据熵的情况下的例子、混淆了MiB/s和MB/s单位、没有将SSD置于已使用状态,其他操作上的错误还有:没有手动预调SSD或者调错了、错误理解数据熵之类的结果,此外还缺少其他相关数据的测试,比如每GB数据写入的功耗、电池续航、写入放大、前台vs后台垃圾回收等。 真实情况介于100%读和100%写入之间 Smith特别强调,测试没能真实反应实际性能的一大问题就是没有考虑SSD四种性能(指的应该是读、写速度和读、写IOPS这四种)的比例问题。通常情况下,SSD在100%读取时IOPS性能最高,在100%写入时IOPS性能最低。现在的测试只反应SSD的读取和写入IOPS理论性能,但是缺少二者的比例。 他举了一个例子,如果是95%读取,5%写入,这种情况下其性能应该接近测试测试得出的IOPS读取性能,但实际情况下,那怕写入IOPS只占5%,Smith展示的实际性能测试就从读取IOPS的一半下降到了五分之一,损失了50-80%的性能。
就算写入IOPS只占5%,SSD的实际性能也要损失50-80% 用户存储的数据也会影响SSD性能 SSD的特性大家也多少了解了,数据储存的越多,SSD性能就越低。如果用户连续储存数据,那么SSD的性能就会高一些,存储的越随机,SSD性能就越低。为了描述这个状况,引入了数据熵(Data Entropy)这个概念,随机数据越多,熵越高,连续数据越多,熵越低。 除了用户的使用习惯之外,不同的测试软件对数据熵的侧重也不一样,典型例子就是IOMeter 2006和IOmeter 2008,前者是高熵值的,后者是低熵值的,因此同样的SSD上,用IOmeter 2008测试会显得性能更高一些。
数据熵的影响
不同软件的数据熵不同 一旦开始使用SSD,性能急剧下降 前面已经提到了SSD预调的重要性,因为SSD的性能与写入历史有莫大关系。详细来说,FOB(Fresh Of Box,刚拆封的状态)状态下的SSD性能最高,然后随着使用其性能快速下降,这个阶段叫做转换阶段(Transition State),继续使用之后SSD的性能会固定下来,这个阶段叫做稳定阶段(Steady State)。 基准性能测试中达到稳定状态很重要,也是可能的,只要对SSD全盘写入几次就可以了。(大约两三次即可) 这里的关键就是需要多少时间才能达到稳定状态。Smith展示了用IOMeter的4K随机写入在一块256GB的SSD上做的测试,大约需要3个小时进入了稳定状态。测试显示,此时的性能相比FOB状态台下大约下降了10%,FOB时的速度是275MB/s,稳定状态下下降到了25MB/s。这就是没有预调的后果,性能相差10倍。
三个小时候SSD差不多到了稳定状态
连续性能下降了25%,随机性能减少了91% 目前的测试软件的偏差 有了上面的基础之后,我们可以看下不同的测试软件在稳定状态下的性能偏差吧。
测试环境
AS SSD的偏差,连续写入下降22-92%,连续读取下降0-69%,随机写入下降81%
ATTO偏差,连续性能基本不受影响,除了4K小数据
CDM偏差,随机写入下降54%,连续读取不变
Anvil软件偏差,随机写入下滑85%
PCmark Vantage的app载入性能下降74% 总结:数据熵、预调对SSD影响很大 从Smith的报告来看,数据熵、预调对SSD的性能影响非常,不同使用习惯、不同状态的SSD性能差异极大。
预调的正确方法 |