-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Lower throughtput numbers reported with v3.16 #1768
Comments
The reason for this issue is that in the multi-thread versions (starting from 3.16), iperf3 checks whether the Can you explain what is the reason for running this test? I am asking to understand whether and why this is a useful test case. The point is that even with 3.15 the output statistics are questionable, since there are different overheads at the beginning and end of the test. E.g. it may be that sending took only 0.02 sec, but the statistics were per 0.03 because of these overheads. |
We are trying to test that a token bucket rate limiter is working as expected. In particular here we want to make sure that the throughput at the beginning (the N "burst" bytes) is higher than the throughput after the burst is over.
I think sending more data helps as otherwise the transfer is too quick and as you said the numbers get skewed. Just for context, this is throughput to/from a VM, so it all stays within the same host. |
Submitted PR #1775 which terminates the test immediately when all data was send/received, similar to the per-3.16 versions (per-multi-thread). If possible, it would be helpful if you can test using the PR's code, to have a better confidence that it works properly. |
Independent from the PR, I'm not sure whether iperf3 is the best tool for testing a token bucket rate limiter, because iperf3 is designed to operate on much longer timeframes than the depth of a token bucket. It might be better to look at the timing of individual packets in traces to see if the rate limiter is doing the desired behavior. |
Thanks @davidBar-On I can confirm the PR restores the previous behavior. Thank you for acting so quickly! @bmah888 yes I agree this may not be the best way to validate the functionality in our end. We may want to revisit this. |
Context
Version of iperf3: iperf3 3.16 and above
Hardware: HP ProBook laptop
Operating system (and distribution, if any): Ubuntu 22.04
Please note: iperf3 is supported on Linux, FreeBSD, and macOS.
Support may be provided on a best-effort basis to other UNIX-like
platforms. We cannot provide support for building and/or running
iperf3 on Windows, iOS, or Android.
libraries, cross-compiling, etc.):
Bug Report
Consistency between versions 3.15 and below and 3.16 and above
iperf3 3.16 reports much smaller numbers
Sending more data seems to help
The text was updated successfully, but these errors were encountered: