web-dev-qa-db-ja.com

ノード全体で10 Gbpsのトラフィックを生成する

ネットワークパフォーマンスベンチマークテストを実行したいので、ネットワークで10 Gbpsトラフィックを生成する必要があります。ノードはRHEL 5.xを実行しています。誰でも私に適切なバイナリなどを指摘していただけますか?.

このテストを実行するためにiperfおよびnetperfコマンドを使用できますか?

8
Iliyas Shirol

はい、iperfはこれに適したツールです。トラフィックストリームが10GbEの速度に成長できるように、長い間隔を使用してください。 TCPウィンドウサイズを変更して、完全な飽和状態にする必要がある場合もあります。コマンドラインの例をいくつか示します...

サーバー側:

iperf -s

クライアント側:

iperf -c server.ip.address -w64k -t60

11
ewwhite

もちろんです。

iperfで注意することの1つは、CPUでボトルネックが発生する可能性があることです。デフォルトでは、ランダムデータを使用して、トリッキーな圧縮やデータの重複排除の影響を無効にします。

十分な数のノードがある場合は、デフォルトをそのまま使用しても問題ありません。 CPUがペギングしていることがわかった場合は、入力を少し負荷の低いものにオーバーライドします。-F /dev/zero

また、遅延によっては、TCPのACKが遅くなる場合があります。パイプをフラッディングするには、UDPを-uとともに使用します。

実際に10 Gbpsのデータを生成できるかどうかは、ノードとそのネットワークアップリンクのパフォーマンスに完全に依存します。

6
Shane Madden

1Gbpsを超える速度を得るには、-Pフラグが役立ちます。

iperf -c server.ip.example.com -P8 -w64k

man iperfから:

  -P, --parallel n
        number of parallel client threads to run

サーバー側で特別なことをする必要はありません。 iperf -sを実行するだけです。

2
Rudy