为什么二级缓存在基准测试中不起作用?

基准测试软件如 CrystalDiskMark、AS SSD Benchmark、ATTO Disk Benchmark 等在进行读性能测试前都会先向硬盘写入一定大小(通常为1GB)的测试文件,然后通过多次读取测试文件测量硬盘读取速度。一级缓存的缓存空间默认设置为“读写共享”,因此在测试软件向硬盘写入测试文件时,该文件就会被完全缓存(假定缓存空间容量超过测试文件大小)。当测试软件读取测试文件进行速度测量时,文件是直接从缓存中读取的,因此测试结果就完全反映了缓存的读取速度。

和一级缓存不同的是,二级缓存的缓存空间默认设置为“仅读”,因此测试软件在写入测试文件时,二级缓存不会缓存该文件。当测试软件读取测试文件进行测量时,文件需要从硬盘读取。又因为二级缓存是采用异步缓存(默认在系统空闲时才采集缓存读数据)的方式,并且因为测试时系统处于忙碌状态,所以即使测试过程中测试软件多次读取测试文件,二级缓存也不会缓存该文件。因此此时二级缓存的作用就无法在基准测试中体现出来。

如果您需要在基准测试中反映二级缓存的效果,您可在二级缓存高级选项中去掉勾选“独立的读写缓存空间”或设置一定比例的写缓存空间后再进行测试。详见如何设置缓存空间。在实际应用中,如果二级缓存仅用来加速硬盘读取,则建议将缓存空间设置为“仅读”。这样,既可以达到读取加速的效果又可以减少二级缓存设备的写入磨损。

以上是基准测试中一级缓存和二级缓存对于读取速度测试的设置说明。对于写入速度测试,无论是一级缓存还是二级缓存,均需要开启延时写入(也意味着必须设置写缓存空间)才可以提升写入性能并在基准测试中得到体现。
标签