thiezn / iperf3-python

Python wrapper around iperf3
https://iperf3-python.readthedocs.org/
MIT License
109 stars 52 forks source link

Client is not responding with num_streams > 22 #74

Open goopilot opened 1 year ago

goopilot commented 1 year ago

Tested with iperf 3.9, 3.6, 3.0.11 client is not responding with num_streams > 22

Working scenario:

import iperf3
import os

remote_site = os.getenv('REMOTE_SITE_IP')

client = iperf3.Client()
client.server_hostname = remote_site
client.zerocopy = True
client.verbose = False
client.reverse = False
client.port = 5201
client.num_streams = 22
client.protocol = 'tcp'

result = client.run()

sent_mbps = int(result.sent_Mbps)
received_mbps = int(result.received_Mbps)

print('sent speed:%',sent_mbps)
print('received speed:%',received_mbps)

Non-working scenario:

import iperf3
import os

remote_site = os.getenv('REMOTE_SITE_IP')

client = iperf3.Client()
client.server_hostname = remote_site
client.zerocopy = True
client.verbose = False
client.reverse = False
client.port = 5201
client.num_streams = 23
client.protocol = 'tcp'

result = client.run()

sent_mbps = int(result.sent_Mbps)
received_mbps = int(result.received_Mbps)

print('sent speed:%',sent_mbps)
print('received speed:%',received_mbps)
firefrei commented 1 year ago

I do experience the same behavior, but already with > 10 streams. If you set less than 10 streams, it works perfectly. However, with a higher number, iperf never returns.