我想知道是否有人有数据可以支持我。我正在设置一批配备 RTL 8125 2.5 Gb/s 卡的迷你电脑,开箱后,它似乎使用 Ubuntu 原装 r8169 驱动程序运行良好。
但是,我只能使用 1000Mb/s 交换机进行测试,研究表明,当协商速度实际上为 2.5 时存在稳定性问题。
是否有人有通过 r8169(随 Ubuntu 22 提供)在 2.5Gb/s 交换机上使用 RTL 8125 的经验,以及可能发生的问题的实际示例?
我想知道是否有人有数据可以支持我。我正在设置一批配备 RTL 8125 2.5 Gb/s 卡的迷你电脑,开箱后,它似乎使用 Ubuntu 原装 r8169 驱动程序运行良好。
但是,我只能使用 1000Mb/s 交换机进行测试,研究表明,当协商速度实际上为 2.5 时存在稳定性问题。
是否有人有通过 r8169(随 Ubuntu 22 提供)在 2.5Gb/s 交换机上使用 RTL 8125 的经验,以及可能发生的问题的实际示例?
大约 18 个月以来,我运行了一组基于 Rockchip RK3588 的系统,这些系统具有双 Realtek 8125 端口。这些系统一直运行 Ubuntu 22.04、24.04 和 24.10 以及内核 5.10、6.1、6.8、6.9、6.11 和现在的 6.12,一些使用主线 r8169 驱动程序,一些使用 Realtek r8125 驱动程序,一些使用我重写的 Realtek r8125 驱动程序。一些系统连接到企业级 10Gb 交换机 (HPE),一些连接到消费级 2.5Gb 交换机 (TPlink TL-SG105-M2),一些使用短电缆直接连接。所有电缆均为优质 CAT8(在 10Gb NIC 上实现全 10Gb)。
总体而言,两位车手的表现都非常出色:
使用 TPlink 交换机时,由于传输冲突(使用 iperf3 -R 选项测量),接收性能会随着时间的推移而下降,大约 3 个月后降至 1.50 Gb/s。需要关闭电源才能恢复 2+Gb/s 的性能,但这需要拔掉电源插头(没有重置按钮),对于相当多的用户来说,这会导致交换机死机!
功能方面,Realtek 8125 驱动程序提供 MSI/MSIX 消息支持、4 个 RSS 队列和 2 个传输队列,以及 PTP 支持(尽管我从未能够使其正常工作),超越主线 r8169 驱动程序。
稳定性方面,虽然存在一些错误,但在“常规”重负载(例如 TCP、docker、kubernetes、NFS、Samba、集群 FS 等)下,它一直非常稳定:
有些系统已经连续3个月24小时不间断运行,没有出现任何故障。
我最终重写了 Realtek 8125 驱动程序,修复了一些问题(8 核 RK3588 强调了 6 个 TX/RX 队列和 ARM64 缓存行,并且一些内存屏障缺失或放置不正确),但最重要的是降低了系统 CPU 消耗,当所有 4 个 RSS 和 2 个 TX 队列都 100% 加载 @2.5Gb 时,吞吐量提高了 20%,代码大小减少了 50%。目前正在尝试修复 PTP,取得了进展,但尚未完全发挥作用(由于 Realtek 不提供硬件文档,因此需要反复试验)。
编辑:TPlink 交换机本身并不是唯一需要考虑的因素。此外,(的参数)
iperf3
也会显著改变结果。例如,iperf3 -u -c <ip>
产生糟糕的 1Mb/s UDP 结果。iperf3 -u -c <ip> -b 0
允许无限带宽,产生更相应的 1.62Gb/s,但iperf3 -u -c <ip> -b 10GB
在完整的 2.5Gb/s 下表现得很奇怪(也在 TPlink 交换机上)。