我通过 40Gbe 光纤链路连接了两台主机,想确定它们之间数据传输的基准。我发现速度相对较低(~620MB/s)。信号传输速率似乎较低,实际上可能是 5Gb/s(这与我看到的一致),但我对光纤知之甚少(而且基础不牢)。
我的设置如下:
输出摘录ethtool每个节点上的 40Gbe 接口
Speed: 40000Mb/s
Duplex: Full
Port: FIBRE
在一台主机上运行 UDP 接收器(10.0.0.2)
nc -vv -u -l 2222 > /dev/null
另一边是发件人
time dd if=/dev/zero count=10000 bs=1500k | nc -u 10.0.0.2 2222
速度约为 650MB/s。不同的块大小会产生微小的差异。
如果有人能指出我的方法或想法是否错误,我将不胜感激(我在这个领域很陌生,维基页面和制造商文档对我来说有点晦涩难懂)。
答案1
答案2
运行测试时观察top
。您可能遇到了nc
命令的 CPU 限制。我们已经看到nc
CPU 限制成为吞吐量的限制。因为我们观察到内核空间中的吞吐量要高得多,例如 DRBD 复制,所以我猜想这nc
会经历许多系统调用的开销。
如果是这种情况,您可以运行多个并发dd | nc
以利用多个 CPU 核心并进一步推动您的测试。