Open rexlim820220 opened 3 months ago
OS: Linux Ubuntu 20.04.6 LTS Python: 3.8.10 iperf3 version : 3.1.7 (as Iperf server) iperf3-python version: 0.1.11 (as Iperf client)
I wrapped iperf3-python toolkit within my python snippet as a client to connect a running iperf servers on 10.10.50.81:64101.
iperf3-python
With the following available options for a Client:
# Test 1: iperf3 -c 10.10.50.81 -u -t 120 -b 1000m -R -p 64101 cli = iperf3.Client() cli.server_hostname = "10.10.50.81" cli.port = 64101 cli.duration = 120 cli.protocol = "udp" cli.bandwidth = 1000000000 cli.reverse = True cli.blksize = 1250 result1 = cli.run() print("Test 1 result:", result1) # Test 2: iperf3 -c 10.10.50.81 -u -t 120 -b 200m -p 64101 cli.server_hostname = "10.10.50.81" cli.port = 64101 cli.duration = 120 cli.protocol = "udp" cli.bandwidth = 2000000000 cli.reverse = False cli.blksize = 1250 result2 = cli.run() print("Test 2 result:", result2)
However, it keep hanging on "Test 1 result:" even when Iperf server finish traffic.
To trace the reason, I use python3 -m trace --trace phylax_client.py to tell where my python script is hanging,
python3 -m trace --trace phylax_client.py
and the following is the execution log:
You can see that the code hang during iperf3.py(70): os.dup2(pipe_in, 1) # stdout, even though iperf server has already finished throughput.
iperf3.py(70): os.dup2(pipe_in, 1) # stdout
I think this issue might be related to #50. However, the following trick suggested by @perfecto25 doesn't seems to work for me.
targets = ['server1', 'server2'] for target in targets: client = iperf3.Client() ## do iperf stuff client = None
execution environment
OS: Linux Ubuntu 20.04.6 LTS Python: 3.8.10 iperf3 version : 3.1.7 (as Iperf server) iperf3-python version: 0.1.11 (as Iperf client)
issue description
I wrapped
iperf3-python
toolkit within my python snippet as a client to connect a running iperf servers on 10.10.50.81:64101.With the following available options for a Client:
However, it keep hanging on "Test 1 result:" even when Iperf server finish traffic.
To trace the reason, I use
python3 -m trace --trace phylax_client.py
to tell where my python script is hanging,and the following is the execution log:
You can see that the code hang during
iperf3.py(70): os.dup2(pipe_in, 1) # stdout
, even though iperf server has already finished throughput.I think this issue might be related to #50. However, the following trick suggested by @perfecto25 doesn't seems to work for me.