我的网络上有 3 个不同的 10Gbe 设备和 2 个交换机。交换机 1 有一个 MacMini M2,通过 RJ45 连接 10Gbe 以太网。交换机 2 有一个定制 NAS 和一个通过 SFP+ 连接的 Ubiquiti NVR。交换机 1 通过 SFP+ 连接到交换机 2。使用 iperf3 测试我得到:
- MacMini 至 NVR:预计约为 9.30 Gb
- NVR 到 NAS:预计约为 9.30 Gb
- NAS 到 NVR:预计约为 9.30 Gb
- MacMini 至 NAS:~6 Gb 但
- MacMini 使用 -R(反向)连接到 NAS:~9.30 Gb,正如预期!
如果很明显我可以达到其他设备的预期速度,并且 NAS 也可以达到预期速度,那么有什么想法可能会限制我与 NAS 的连接?另外,为什么问题只出现在一个方面?谢谢
答案1
我猜是设置问题。10G 支持有点挑剔 - 我得到的速度非常相似到为 10G 设置 ubuntu 盒,因为 TCP 窗口并未针对 10G 速度进行优化。
对于十年或更久以前来说,这些都是合理的默认设置,但您在资源方面会更加慷慨一些。
我猜测,由于 NVR 和 MacMini 都具有“原生” 10G(并且 Windows 驱动程序由 OEM 提供),因此他们已经适当地设置了一切。
在 ubuntu 上 - 可能大多数其他 Linux 发行版都需要将以下几行添加到 /etc/sysctl.conf
net.core.wmem_max=4194304
net.core.rmem_max=12582912
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 87380 4194304
理论上,运行sysctl -p
应该立即加载这些设置,但我重新启动了。T这是关于它为什么有效的一个很好的解释,以及我自己的研究
从理论上讲,这将占用更多的系统内存,但现代机器无论如何都有大量内存。
您还需要在所有地方打开巨型帧以获得更好的性能。我使用这些设置测试了最高 9.9 的成绩。