10GB/s 的 ZFS 软阵列速度
坑边闲话:在关闭多线程之后,采用本地测试的方式,笔者发现 ZFS 呈现出了惊人的 NAND 直读、直写性能。本文介绍这一发现,但并不尝试分析原因。
最近在跑实验,supervisor 建议我关闭超线程。找了半天 BIOS 没找到 HyperThreading 选项,最后发现 AMD 的超线程不叫 HT, 而是 SMT.
遗憾的是 SMT 的关闭与 performance tuning 的关闭是绑定的,所以 NUMA per socket 就得手动设置,最大一个 CPU 插槽 4 个 NUMA,对应两个 ZEN3 CCD. 毕竟 EPYC 7003 内部就是四组内存控制器,这很合理。
有意思的来了。
我看到核心连线的拓扑图,发现设置了 NPS 之后,CPU 与 NVMe 的关系变得更具体了,说人话就是 NVMe 与 CPU 的亲和性更高了。于是我顺手给这个 ZFS 跑了个分。
- 服务器:H3C R4950g5 with dual AMD EPYC 7763
- zpool 包含两个 vdev
- 第一个是四盘 intel 750 1.2TB MLC raid-z1
- 另一个是单盘 WD 黑盘 SN750 1TB
- ZFS 参数:
- LZ4 压缩
- 1MB recordsize
- 开启 direct-io
- 其余默认
结论:这个奇怪的 zfs 阵列,搭配 openzfs 2.3.2 可以做到:
- NAND 直读速度超过 10GB/s
- NAND 写入速度超过 5GB/s
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Peng Liu's blog!
评论