Networking
測量 40Gbe 性能
我已經通過 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 核心並進一步推動您的測試。