ZFS on Linux 提升读取性能

记录八盘 RAIDZ2 读取时硬盘利用不足的现象,尝试通过调整 ZFS 的 zfetch_max_distance 预取参数改善吞吐。

我的 ZFS 系统是由 8 x 10T HDD 组成的 raidz2,读取性能一直在 190MB/s 左右。这个速度不算太慢,但是到达这个速度时,从 iostat 的情况看,磁盘使用率只有 25% 左右,cpu 占用率也不高,还有很大的提升空间。

在网上找了半天,看到 zfetch_max_distance 参数可能会影响读取性能,这个参数影响流预加载最大大小,或者可以说是读取 buffer 的大小(参考这个文档)。

使用命令 echo 67108864 > /sys/module/zfs/parameters/zfetch_max_distance 来将这个参数调整为 64MB 大小,可以显著提高读取速度。

讨论

在 GitHub 上查看讨论

使用 Hugo 构建
主题 Stack 由 Jimmy 设计