iperfで私のUDP帯域幅がTCP帯域幅よりはるかに低いのはなぜですか?

iperfで私のUDP帯域幅がTCP帯域幅よりはるかに低いのはなぜですか?

私はiperfを使って2つの仮想マシン間で簡単な帯域幅テストを実行しています。私が得たTCPとUDPの帯域幅の読み取り値は非常に異なり、UDPの帯域幅はTCPよりはるかに低いです。

TCP:

root@i-sahmed-node2: ~ # iperf -c 10.160.24.123
------------------------------------- ----------
クライアントは10.160.24.123、TCPポート5001に接続します。
TCPウィンドウサイズ:85.0KB(デフォルト)
------------------------------------- ----------
[3]ローカル10.160.24.170ポート48339が10.160.24.123ポート5001に接続されています。
[ID]インターバル伝送帯域幅
[3] 0.0~10.0秒 7.41GB 6.36GB/秒
root@i-sahmed-node2: ~ #

UDP:

root@i-sahmed-node2: ~ # iperf -c 10.160.24.123 -u -b 6g
------------------------------------- ----------
クライアントは10.160.24.123、UDPポート5001に接続されます。
1470バイトのデータグラムを送信
UDPバッファサイズ:208KB(デフォルト)
------------------------------------- ----------
[3]ローカル10.160.24.170ポート51922が10.160.24.123ポート5001に接続されています。
[ID]インターバル伝送帯域幅
[3] 0.0-10.0秒 962MB 807Mbits/秒
[3] 686548個のデータグラムが送信されました。
[3]サーバーレポート:
[3] 0.0-10.0秒 630MB 528Mbits/秒 0.009ミリ秒 237368/686547 (35%)
[3] 0.0-10.0秒 9個のデータグラムが順番に受信される
root@i-sahmed-node2: ~ #

ほぼ毎回これを再現できます。仮想マシンで実行されているため、基本ハードウェアに直接アクセスできません。なぜこれが起こるのか知っている人がいますか?

ベストアンサー1

./iPerfUDPモードでは各UDPパケットのパフォーマンスを追跡する必要がありますが、TCPモードでは唯一の対話は最終的な要約です。

800Mb/秒はゲストVMで見た制限に似ています。

おすすめ記事