Networking

測量 40Gbe 性能

  • April 23, 2016

我已經通過 40Gbe 光纖鏈路連接了兩台主機,並希望確定它們之間數據傳輸的基線。我看到的速度相對較低(~620MB/s)。似乎信號速率較低,實際上可能是 5Gb/s(這與我所看到的一致),但我對光纖知之甚少(並且處於不穩定的狀態)。

我的設置如下:

每個節點上 40Gbe 介面上ethtool輸出的摘錄是

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 左右。不同的塊大小會產生微小的差異。

如果有人能指出我的方法或想法是否錯誤,我將不勝感激(我在這方面非常綠色,wiki 頁面和製造商文件對我來說有點不透明)。

您最好使用iperf之類的工具而不是dd | nc.

這樣您就可以同時測試 TCP 和 UDP 並獲得正確的吞吐量報告,以及控制速率、數據包大小等。

人們經常使用它來測量 10Gbe 和 40Gbe 的性能。

top在執行測試時觀看。您可能會達到命令的 CPU 限制nc。我們已經看到nc由於受 CPU 限製而成為吞吐量的限制。因為我們觀察到像 DRBD 複製這樣的核心空間的吞吐量要高得多,所以我猜這會nc經歷許多系統呼叫的成本。

如果是這種情況,您可以執行多個並發dd | nc以利用多個 CPU 核心並進一步推動您的測試。

引用自:https://serverfault.com/questions/772448