Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iperf3: The server grace period is too short and should be passed in as an argument #1317

Closed
HeFeng1947 opened this issue Apr 13, 2022 · 2 comments
Assignees

Comments

@HeFeng1947
Copy link

Bug Report

The server grace period is too short causing the socket to be closed in advance. Related submissions #859

Why I need long grace period

I use iperf3 to test the throughput test and network stress test of thread network (a low power 802.15.4 mesh network based on IP stack). Test steps can be refer to this issue openthread/openthread#7572

Due to the difference between the transmission rate of the UDP layer and that of the actual wireless physical layer(less than 7kB/s), the client ends sending quickly but it takes a long time for the server to receive all the UDP packets.

Currently, the grace period on the server side is hard-coded at just 40 seconds. This often causes the server to end reception prematurely. I think the grace period needs to be a flexible parameter.

@bmah888 bmah888 self-assigned this Apr 14, 2022
@bmah888
Copy link
Contributor

bmah888 commented Apr 14, 2022

Thanks for your comments! I understand where a longer grace period is something that'd be useful for your tests. For the environments that iperf3 was designed for (high-speed R&E networks), 40 seconds is actually a very long time, and I'm not convinced that tuning this is generally needed for the use cases we prioritize. I'd recommend for your situation that since you have the source code, you can just make the change locally in your iperf3 sources (forking the code repo if necessary) and build a custom version.

@bmah888 bmah888 closed this as completed Apr 14, 2022
@davidBar-On
Copy link
Contributor

just adding a note: if it is known that the interface throughput is slow (7Kbps), then sending bit rate can be limited so not all the UDP packets will be sent at once. This should be done by both limiting the bit rate, e.g. -b 10K, and limiting the message length, e.g. -l 512 (as the UDP default message size is 32KB).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants