该服务器有 4GB 的 RAM,我的 zpool 由 15.5k SAS 驱动器组成,排列如下:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
c0t2d0 ONLINE 0 0 0
c0t3d0 ONLINE 0 0 0
c0t4d0 ONLINE 0 0 0
c0t5d0 ONLINE 0 0 0
c0t6d0 ONLINE 0 0 0
c0t7d0 ONLINE 0 0 0
c0t8d0 ONLINE 0 0 0
raidz1-1 ONLINE 0 0 0
c0t10d0 ONLINE 0 0 0
c0t11d0 ONLINE 0 0 0
c0t12d0 ONLINE 0 0 0
c0t13d0 ONLINE 0 0 0
c0t14d0 ONLINE 0 0 0
spares
c0t9d0 AVAIL
c0t1d0 AVAIL
主要用途是作为几台 VMWare ESXi 服务器的 NFS 存储。我无法进行任何“真正的”基准测试,因为这是一个生产系统(没有预算用于测试系统),但使用时,dd
我bonnie++
无法获得超过 ~40-50MB/s 的写入速度和 ~70-90MB/s 的读取速度。似乎我应该能够做得更好,但我不确定在哪里可以优化。根据我所读到的内容,我认为OCZ Vertex 2 Pro固态硬盘因为我的 L2ARC 将成为提高吞吐量的最佳性价比方案。
- 我还应该研究其他什么来提高性能吗?如果没有……
- 我怎么知道我需要多大的缓存设备?
- 仅使用单个 SSD 作为缓存设备是否安全?
答案1
我猜是 ZFS 意向日志 (ZIL) 限制了写入性能。用作日志设备可以提供帮助。一些提示:
- ZIL 加速器:DRAM 还是 Flash?详细解释这些问题。
- 您可能希望使用已禁用的 ZIL 进行测试。请参阅我的其他发帖。
- 查看Oracle Solaris Express 中的 ZFS 特性如果你使用的是最新的 ZFS 版本,因为禁用 ZIL 的方式已经改变。有一个新的同步文件系统属性。
- 直到最近,还无法从 ZFS 池中删除日志设备。当然,如果单个日志设备发生故障,这会导致问题。因此建议对日志设备使用镜像。但是,最近的 ZFS 版本修复了此限制,现在可以使用 删除单个日志设备
zpool remove
。如果您确实要安装 SSD,请确保使用支持此功能的版本。
答案2
我肯定会这么做。我读到过它有很大帮助。然而,你需要获得一个高质量的 SSD,因为它将会被大量使用,因此磨损均衡应该能很好地发挥作用。
我今天发现了这个……这真是太好了
- 没有把握
- 30 倍的 RAM 应该足够了。(300GB 以上应该有助于缓冲)
- 单个 SSD 应该足够了,它只是一个用于吞吐量的缓存。(当它坏了/损坏了/不存在时,速度就会变慢)