1

当我使用多个线程运行 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

我的两台客户端/服务器机器都是 32 核,速度为 10 Gbps。请注意,客户端在单线程/流中运行良好,即$ 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

4

0 回答 0