测量 40Gbe 性能

测量 40Gbe 性能

我通过 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

你最好使用类似的工具防火墙代替dd | nc

这样,您可以测试 TCP 和 UDP 并获得适当的吞吐量报告,以及控制速率、数据包大小等。

人们经常使用它来测量 10Gbe 和 40Gbe 的性能。

答案2

运行测试时观察top。您可能遇到了nc命令的 CPU 限制。我们已经看到ncCPU 限制成为吞吐量的限制。因为我们观察到内核空间中的吞吐量要高得多,例如 DRBD 复制,所以我猜想这nc会经历许多系统调用的开销。

如果是这种情况,您可以运行多个并发dd | nc以利用多个 CPU 核心并进一步推动您的测试。

相关内容