我本人使用 SSD Cache 已经好几年了,现在的主流 NAS服务器都带了 SSD Cache ( 固态硬盘高速缓存 ) 功能,这个功能是用利用固态硬盘较强的随机读写能力来提高大容量机械硬盘的读写性能。有些准备买 NAS 的朋友可能对这个功能不是很了解,不知道这个磁盘缓存功能是否有比较明显的作用,是否有必要去追加预算购买固态硬盘做 SSD Cache。为此我特地花费了两个月时间来做了这个测试,把结论分享给大家。通过本文你可以了解到如下内容:
测试 SSD Cache 在各种模式下对读写速度的影响
实测 SSD Cache 缓存盘的寿命消耗情况
我是否需要 SSD Cache,哪种缓存类型适合我
SSD Cache 的原理很简单,一看便知:
测试 SSD Cache 在各种模式下对读写速度的影响
Raid1 SSD Cache 连续写入速度测试
我这里用两只全新的 240G 固态硬盘来进行测试,经过测试这两只固态硬盘的连续读写和 4K 性能都不错。这里用于测试的威联通NAS 有个最大的优点是一组 SSD Cache 可以同时为几个存储空间 / 卷服务,而群晖只能用于其中一个存储空间,但我这里为了使测试结果准确只对一个盘启用了 SSD Cache。不管是照片还是视频,最终都是以文件的形式存储在 NAS 服务器里,用测试文件读写速度的方法来测试缓存性能比较直观。这里需要注意的是如果缓存类型选用的是读写高速缓存,表示对磁盘的读取和写入操作都会有 SSD 缓存介入,为了保证数据安全,建议选择 RAID1 模式,否则万一 SSD 往磁盘里写入数据时发生故障,还没写入完成的数据可能会丢失。
如图,给固态硬盘预留了 10% 空间以延长寿命,缓存的总容量 192GB,实际可用容量 175GB,新创建的 SSD Cache 使用量为 0,命中率也为 0,以文件、照片、影视服务为主的用户,缓存模式建议应选择 " 全部 I/O":
先不开启高速缓存服务,测试没有缓存时文件的拷贝速度,为保证计时准确,我使用 Fastcopy 代替 windows 复制粘贴进行测试。NAS 安装了一块希捷酷狼 4TB 硬盘用于测试,将 NAS 用网线直接连接到主机,使用 2.5G 网络测试。先测试大文件,拷贝了 15GB 数据,共 7 个文件,测得不开启 SSD Cache 的时候用时 1 分 39 秒,平均速度 158.7MB/S,开启缓存后再写入同样的文件,平均速度为 205MB/S;开启缓存后第二次测试和第一次速度差别不大:
在 NAS 高速缓存界面可以看到写入文件时缓存命中率接近 100%,全程有写入缓存介入,可以得出结论是 SSD Cache 对磁盘连续写入性能稍有提升;传入的数据是先写入 SSD 缓存,再通过 SSD 缓存写入 NAS 磁盘,开启写入高速缓存后建议搭配 UPS 电源使用,否则 SSD Cache 里的数据还没完成写入磁盘时停电的话会有数据丢失的风险。其实平时实际使用时 SSD Cache 对大文件写入的助力极其有限,甚至可以完全忽略,主要原因是一般个人用户 SSD Cache 容量比较小,我上面的写入测试是在 SSD Cache 刚建立时进行的,使用一段时间后 Cache 内容会被填满、逐渐替换。
Raid1 SSD Cache 连续读取速度测试
再来测读取。和上面的写入测试一样,用同样的文件,从 NAS 里取回到本地 SSD。不开 SSD Cache 的时候测得速度为 162MB/S,开启缓存初次读取速度只有 130MB/S,但第二次就达到了 281MB/S,基本上达到了 2.5G 网络的传输上限:
开启缓存后初次读取速度居然比不开缓存时还慢,这个我当初也觉得奇怪,反复测试了五六次都是同样的结果,应该是初次需要将文件载入到缓存里,然后再从缓存里传输到客户端,这个过程影响了速度。从命中率曲线可以看出来,第二次读取时蓝色的读取命中率接近 100%,而第一次读取时命中率不到 10%。结论是 SSD Cache 对磁盘连续读取性能有明显的提升,但只限于经常访问的数据,并且 SSD Cache 盘容量要足够大,否则缓存里的数据会不断被替换,重新载入缓存的效率不高。
Raid1 SSD Cache 随机写入速度测试