複数のスレッドで iperf UDP テストを実行すると、単純にハングします。それは二度と戻りません。ただし、同じテストは常に単一のストリームで正常に完了します。ここに私のiperfバージョンと詳細があります:
$ iperf --v
iperf version 2.0.5 (08 Jul 2010) pthreads
クライアント (10.20.32.50) コマンド:$ iperf -c 10.20.32.52 -P 2 -t 10 -u -b 1g
サーバー (10.20.32.52) コマンド:$ iperf -s -u
クライアントは次の出力を提供し、決して終了しません
$ iperf -c 10.20.32.52 -P 2 -t 10 -u -b 1g
------------------------------------------------------------
Client connecting to 10.20.32.52, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 4] local 10.20.32.50 port 33635 connected with 10.20.32.52 port 5001
[ 3] local 10.20.32.50 port 56336 connected with 10.20.32.52 port 5001
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 483 MBytes 406 Mbits/sec
[ 4] Sent 344820 datagrams
[ 4] Server Report:
[ 4] 0.0-696.8 sec 483 MBytes 5.82 Mbits/sec 0.020 ms 229/344819 (0.066%)
[ 4] 0.0-696.8 sec 478 datagrams received out-of-order
サーバー出力は次のとおりです
$ iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 12] local 10.20.32.52 port 5001 connected with 10.20.32.50 port 60971
[ 10] local 10.20.32.52 port 5001 connected with 10.20.32.50 port 34388
[ 10] 0.0-823.4 sec 483 MBytes 4.92 Mbits/sec 0.018 ms 420/344819 (0.12%)
[ 10] 0.0-823.4 sec 365 datagrams received out-of-order
私の両方のクライアント/サーバー マシンは、10 Gbps の 32 コアです。クライアントは単一のスレッド/ストリームで正常に実行されることに注意してください。つまり、$ iperf -c 10.20.32.52 -P 1 -t 10 -u -b 1g
常に完了します。どんな助けでも大歓迎です!
この質問は、もともと同様の質問 [1] への回答として尋ねられたものですが、iperf3 を使用しています。提案を受けた後、別の質問をしました。
ノディール
[1] https://stackoverflow.com/questions/31836985/iperf3-parallel-udp-not-running/32728777