示例:使用缓写功能提升硬盘写性能

本测试示例演示了使用PrimoCache缓写功能后硬盘写性能提升的效果。

测试平台

主板:ASUS P6T SE (Intel X58 + ICH10R)
CPU:Intel Core i7-950 @ 3.06GHz
内存:20GB (4GB x 5, DDR3-1600)
硬盘:Seagate ST31000528AS(SATA 3Gb/s, 1TB, 7200RPM, 32MB Buffer)
操作系统:Microsoft Windows 7 Ultimate (x64)
测试工具:Anvil's Storage Utilities 1.1.0
PrimoCache:版本 1.0.1

未使用PrimoCache的硬盘写速度

不安装PrimoCache,运行Anvil's Storage Utilities,测试硬盘的原始写速度。测试结果如下图所示,其中硬盘写性能得分87.72

Original Disk Speed

使用PrimoCache后的硬盘写速度

安装PrimoCache,并对之前测试的硬盘分区建立缓存,缓存配置如下。

一级缓存:9216MB (大于测试长度1GB)
粒度大小:4KB
缓存策略:读数据 & 写数据
延时写入:开启,延时1800秒

Cache Configuration

再次运行Anvil's Storage Utilities,测试此时的硬盘写速度。测试结果如下图所示,可以看到硬盘写性能得分达到惊人的21515.00,提升了250多倍!

Cache Read Speed

从PrimoCache缓存性能统计数据中可以看到,测试工具在整个测试过程中,总共向硬盘发送了3.88GB数据量的写入请求,然而所有这些数据均被写入到缓存中,没有写入硬盘,紧急写入常规写入均为0。只有当延时时间达到后,这些在缓存的待写数据才会被真实写入硬盘。

Cache Statistics

当然,为了演示最佳效果,这里的测试是在优化过的缓存配置下进行。在实际应用中,一般设置的延时写入时间不会太长,其它缓存配置也有所不同,因此实际使用的性能可能和这里的测试结果会有差异。此外需要注意的是,由于数据是先被写入到缓存中,因此在突然掉电、系统死机或崩溃等异常情况下,缓存中的待写数据来不及被写入硬盘,可能会造成数据损失。