我刚刚设置了一个带有 4 个 SATA 企业级驱动器的 freenas zfs raid-z2,并进行了一些性能测试。现在我正在将 Linux 映像推送和拉入存储。我的笔记本配有三星 840pro ssd,本地读写速度为 400MB/s。使用 Samba4。
我可以以平均 105 MB/s 的速度连续写入。我印象深刻,考虑到 1Gb/s 局域网,这真的很棒。
但是读取速度相当慢,网络 io 从几 kB 跳到 30MB/s,平均大约 10MB/s。添加 l2arc 也无济于事。
有什么想法,为什么阅读性能这么差?这是正常的吗?
答案1
你可能想读这。
本质上,在单个 RAID Z 组中,读取性能等于单个磁盘的性能。RAID Z 的写入性能很好,但读取性能很差。考虑到您使用的低端磁盘速度较慢,您发布的数字似乎是合理的。
如果您想使用 RAID Z 并且仍具有合理的读取性能,则必须创建多个 RAID Z 组(您没有磁盘)并在它们之间进行条带化。
对于四张磁盘,最好创建两个镜像并在它们之间条带化数据。
答案2
尽管这篇文章已经很老了,但我在寻找完全相同问题的解决方案时偶然发现了它。所以也许其他人可以从我的经验中受益;
我有一个 FreeNas 设置,我可以将其推至 110MB/s(写入),但从中读取的速度却慢了两倍(50MB/s)。无法弄清楚原因。阅读了几篇文章,其中一位专家用户说,一般来说,FreeNas 不需要调整或特殊的 ZIL 和 L2ARC 等,仍然应该能够在两个方向上达到千兆网络的极限。同一个人说 Realtec NIC 并不总是表现良好。我的机器中确实有一个 Realtec NIC,我认为如果它可以以超过 100MB/s 的速度拉入数据,它也应该能够以 100MB/s 的速度输出数据。只是因为我有一个闲置的基于英特尔服务器的 NIC(PRO/1000),所以我将它与 Realtec NIC 交换并进行了完全相同的测试。我的 FreeNas 现在具有同步读写速度。两者都达到了 110MB/s。就这么简单!