ネットワークパフォーマンスベンチマークテストを実行したいので、ネットワークで10 Gbpsトラフィックを生成する必要があります。ノードはRHEL 5.xを実行しています。誰でも私に適切なバイナリなどを指摘していただけますか?.
このテストを実行するためにiperfおよびnetperfコマンドを使用できますか?
はい、iperf
はこれに適したツールです。トラフィックストリームが10GbEの速度に成長できるように、長い間隔を使用してください。 TCPウィンドウサイズを変更して、完全な飽和状態にする必要がある場合もあります。コマンドラインの例をいくつか示します...
サーバー側:
iperf -s
クライアント側:
iperf -c server.ip.address -w64k -t60
もちろんです。
iperf
で注意することの1つは、CPUでボトルネックが発生する可能性があることです。デフォルトでは、ランダムデータを使用して、トリッキーな圧縮やデータの重複排除の影響を無効にします。
十分な数のノードがある場合は、デフォルトをそのまま使用しても問題ありません。 CPUがペギングしていることがわかった場合は、入力を少し負荷の低いものにオーバーライドします。-F /dev/zero
また、遅延によっては、TCPのACKが遅くなる場合があります。パイプをフラッディングするには、UDPを-u
とともに使用します。
実際に10 Gbpsのデータを生成できるかどうかは、ノードとそのネットワークアップリンクのパフォーマンスに完全に依存します。
1Gbpsを超える速度を得るには、-Pフラグが役立ちます。
iperf -c server.ip.example.com -P8 -w64k
man iperfから:
-P, --parallel n
number of parallel client threads to run
サーバー側で特別なことをする必要はありません。 iperf -sを実行するだけです。