esnet / esnet/iperf

Lower throughtput numbers reported with v3.16

Open
#1,768 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
8.8k
Forks
1.5k
PR merge metrics
No merged PRs in 30d

Description

# 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._

* Other relevant information (for example, non-default compilers,
libraries, cross-compiling, etc.):

# Bug Report

* Expected Behavior

Consistency between versions 3.15 and below and 3.16 and above

* Actual Behavior

iperf3 3.16 reports much smaller numbers

* Steps to Reproduce

```
# ip netns exec netns-master-0 ./iperf3-amd64-3.15 -c 192.168.0.2 -n $(( 2**20 * 100 )) -N
Connecting to host 192.168.0.2, port 5201
[ 5] local 192.168.0.1 port 40766 connected to 192.168.0.2 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-0.03 sec 100 MBytes 30.0 Gbits/sec 135 1.07 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-0.03 sec 100 MBytes 30.0 Gbits/sec 135 sender
[ 5] 0.00-0.03 sec 97.6 MBytes 29.0 Gbits/sec receiver

iperf Done.
```

```
# ip netns exec netns-master-0 ./iperf3-amd64-3.16 -c 192.168.0.2 -n $(( 2**20 * 100 )) -N
Connecting to host 192.168.0.2, port 5201
[ 5] local 192.168.0.1 port 40798 connected to 192.168.0.2 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 100 MBytes 838 Mbits/sec 187 1.22 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-1.00 sec 100 MBytes 838 Mbits/sec 187 sender
[ 5] 0.00-1.00 sec 100 MBytes 838 Mbits/sec receiver

iperf Done.
```

* Possible Solution

Sending more data seems to help

```
root@2245840c43f0:/firecracker# ip netns exec netns-master-0 ./iperf3-amd64-3.16 -c 192.168.0.2 -n $(( 2**20 * 50000 )) -N
Connecting to host 192.168.0.2, port 5201
[ 5] local 192.168.0.1 port 40890 connected to 192.168.0.2 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 4.46 GBytes 38.3 Gbits/sec 90 874 KBytes
[ 5] 1.00-2.00 sec 4.22 GBytes 36.2 Gbits/sec 240 1007 KBytes
[ 5] 2.00-3.00 sec 4.26 GBytes 36.6 Gbits/sec 0 973 KBytes
[ 5] 3.00-4.00 sec 4.05 GBytes 34.8 Gbits/sec 45 1018 KBytes
[ 5] 4.00-5.00 sec 4.29 GBytes 36.9 Gbits/sec 0 1.02 MBytes
[ 5] 5.00-6.00 sec 4.20 GBytes 36.1 Gbits/sec 0 930 KBytes
[ 5] 6.00-7.00 sec 4.02 GBytes 34.5 Gbits/sec 0 993 KBytes
[ 5] 7.00-8.00 sec 4.12 GBytes 35.3 Gbits/sec 0 973 KBytes
[ 5] 8.00-9.00 sec 4.03 GBytes 34.6 Gbits/sec 45 1.10 MBytes
[ 5] 9.00-10.00 sec 4.35 GBytes 37.3 Gbits/sec 0 1.03 MBytes
[ 5] 10.00-11.00 sec 4.47 GBytes 38.4 Gbits/sec 0 877 KBytes
[ 5] 11.00-12.00 sec 2.36 GBytes 20.3 Gbits/sec 0 950 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-12.00 sec 48.8 GBytes 34.9 Gbits/sec 420 sender
[ 5] 0.00-12.00 sec 48.8 GBytes 34.9 Gbits/sec receiver

iperf Done.
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.