很多小伙伴买到SSD后就喜欢给自己心爱的SSD跑个分,然后在论坛贴吧发下,如果自己跑分高就很高兴,如果低就一脸懵逼,不知所然。这些测试软件有什么特点,怎么理解测试成绩,跑分应该注意什么?本次小课堂我就来为各位同学解答这些问题。
SSD性能参数主要有六个:
连续读/连续写:反应的单个大容量数据文件(256KB)的读写性能,如较大容量的视频,图片数据,有时候游戏加载时候,也考验连续读性能。连续写主要意义在于大型程序安装,而且资源盘和目标盘都需要是SSD才能体现,而且安装程序还是会有大量的零碎数据,
4K读/写 就是一些十分零碎的文件读写操作,如数据库操作,文件检索,脚本读取就是十分典型的4K读写操作,并且这样的操作往往有很强的随机性,并由读写并行的操作。4K性能比较可以直接比较读写速度,但更多比较IOPS。IOPS的意思是INPUT OUTPUT PER SECOND,每秒的输入输出操作数。
读/写延迟:这个就是进行读写操作从指令下达到操作执行的延迟。
一般SATA盘连续读写峰值在400-500MB/S,而顶级的SATA SSD可以接近600MB/S,而不能再高,这是被SATA 6Gbps的接口速度所限制。而采用PCIE接口的NVME SSD连续读写速度可以超过600MB/.S,甚至可以到1500-2500MBPS水平。其速度还是被PCIE 3.0 4X速度限制。IOPS一般SATA盘的性能在5万到8万,而顶级SATA盘大概可以接近10万。而NVME的SSD IOPS性能甚至可有20万以上,同时NVME由于在队列操作方式上发生了改变,使得其读写的访问延迟更低。
有些用户往往看重顺序读写性能,而无视4K性能,究竟连续读写更为容易理解。但对于用户体验而言,4K性能其实更为重要。
AS SSD Benchmark是一个简单的SSD测试程序,他可以花费2分钟时间测试连续读写,4K读写,4K 64线程读写和访问延迟的性能(性能有2个标签,一个是MB/S的速度,一个是IOPS,两页需要切换)。并且会依据这些测试成绩给出个总分,比较合适一般用户横向比较峰值性能。也是由于有个明确的总分合适直接比较,在普通用户中流行度较高。
AS SSD Benchmark下载地址:http://as-ssd-benchmark.en.lo4d.com/
CrystalDiskmark定位和ASSD Benchmark类似,也是个简单的SSD测试工具,其刚刚更新了6.0版。6.0版其调整了测试项目,加入了4K Q8T8 及8队列8线程的测试,这样的设置设定更为接近。
CrystalDiskmark下载地址:https://crystalmark.info/download/index-e.html
另外CrystalDiskmark的作者是日本死宅,还有Shizuku Edition的老婆皮肤版,可以满足各位绅士的高洁品位。
上面ASSD Benchmark的测试4K 64线程的测试成绩是4K单线程的20-30倍,64线程可以说是SSD的峰值性能。但实际应用绝大部分的操作都是在4线程之下,5-6QD就基本顶头,操作占比在1%以下。因此64线程这样的4K测试是和实际应用脱离的。相对CrystalDiskmark 6.0的4K Q8T8的设定更为合理。
Anvil`s Storage Utilities和上面两个测试软件功能也十分接近,其4K测试有QD4和QD16,在测试数据上没有前两个测试软件的峰值数据好看。下载地址:http://anvils-storage-utilities.en.lo4d.com/
这3个轻量级的SSD测试软件 都有个测试数据块的问题,默认设定是1GB,这个测试数据量太小,容易受到缓存策略的影响,一般SSD都有将NAND的一定空间化为SLC缓存,这部分性能更好,如果测试数据量小于SLC容量,那测试数据会很好,但如果测试数据溢出,则测试性能就会大幅下降(浦科特M8PE这样MLC的盘在cache溢出后性能下降会更小)。因此这两个测试项目将测试数据容量改成10GB测试,更为有意义,但很少有人会这样做。
SiSoftware Sandra是一个老牌的综合测试软件,其也包含存储性能测试,其存储性能测试包括物理硬盘测试和文件系统测试两个部分。SiSoftware Sandra最大的特色是官方提供了详尽的线上数据库,用户可以将自己的测试成绩同线上其他数据进行比较,
SiSoftware Sandra下载:https://www.sisoftware.eu/download-lite/
HDtune是个老牌的测试软件,其可以绘制磁盘速度曲线和平均访问时间分布,但这个软件主要是为机械硬盘设计,并不推荐使用HDTune测试SSD。
PCMark 8是基于实际应用环境的模拟测试,其磁盘测试是模拟魔兽世界,战地3、Office、AE、inDesign、Photoshop等常用应用的实际表现。这样的测试运用环境强度不高,不同的SSD较难拉开差距。PCMark 8的磁盘测试功能需要付费的高级版和专业版才能使用,下载/购买地址:https://www.futuremark.com/benchmarks/pcmark8
IOMeter是专业的存储测试软件,不仅可以测试本地磁盘,还可以支持网络环境,用户可以自定义脚本,控制读写比例,操作数据大小,随机比例,队列深度等。功能十分强大,可以导出多样化的复杂数据,依据测试目的制定相应的测试计划。不过功能强大的代价就是使用难度高,并不合适一般用户使用。
再利用下IOMeter补充说明下队列深度的问题,队列深度可以理解成并发操作数,一般而言QD数量越高性能就越好,一般64QD才能达到峰值性能。虽然这样的峰值数据实际使用中并不会出现,日常应用一般都在4QD以下,64QD数据好看仅仅是心理上的满足而已。
IOMeter下载:http://www.iometer.org/doc/downloads.html
各个论坛贴吧经常有人反馈自己SSD跑分过低,跑分高低也是受多方面因素影响的。
1 首先是前面提及的SLC缓存,如果之前读写过较多数据,再来测试性能就明显低于空缓存情况。
2 如果测试盘本身是系统盘,或者装有大量数据那也会影响测试数据,特别是系统盘情况下,在后台有读写的情况下必然会影响测试成绩。大多媒体测试的高分都是空盘挂从盘跑出来的。
3 处理器频率,4K性能还是很依赖处理器频率,用户用2GHz频率的超低电压笔记本和玩家用5GHz 8700K跑分必然有很大差距。另外SSD跑分时候还需要将电源管理设置到高性能模式,避免处理器由于节能而降频。
4 如果SSD经过大量的读写,有可能性能不正常,并且通过重启、甚至格式化都不能恢复,这个时候就需要安全擦除,具体安全擦除如何操作 可以查看之前我们课堂的教程。
我们需要正确的理解跑分,将跑分作为我们评估SSD性能工具,但又不能过于依赖跑分,仅仅用跑分来衡量一切,而更多的是要从实际使用场景出发,正确跑分。