0

I am currently setting up some tests with iperf to add artificial load between two linux servers node0 and node1.

When I run it without any bandwidth specification, iperf goes for the maximum (that is 25Gbits/sec) and we can see that we are quite good as we reach 23.5Gbits/s.

nh0@node0:~$ iperf -c node1 -f 'g'
------------------------------------------------------------
Client connecting to node1, TCP port 5001
TCP window size: 0.00 GByte (default)
------------------------------------------------------------
[  3] local 192.168.1.1 port 39002 connected with 192.168.1.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  27.4 GBytes  23.5 Gbits/sec

However, with the option -b, I can set up for instance 1Gbit/s as the bandwidth to utilize. This also works out fine:

nh0@node0:~$ iperf -c node1 -f 'g' -b 1g
------------------------------------------------------------
Client connecting to node1, TCP port 5001
TCP window size: 0.00 GByte (default)
------------------------------------------------------------
[  3] local 192.168.1.1 port 39004 connected with 192.168.1.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.16 GBytes  1.00 Gbits/sec

However, when I increase up to 3Gbit/s, we surprisingly see that just reach a very small amount!

nh0@node0:~$ iperf -c node1 -f 'g' -b 3g
------------------------------------------------------------
Client connecting to node1, TCP port 5001
TCP window size: 0.00 GByte (default)
------------------------------------------------------------
[  3] local 192.168.1.1 port 39008 connected with 192.168.1.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  0.00 GBytes  0.00 Gbits/sec

Using the formatter -f 'm' here, shows that we reach 0.10Mbit/sec in that test.

Why do we see the bandwidth drop here? And how to fix that? As the first test shows, we are able to reach such high bandwidths, so this is not the issue.

I use: iperf version 2.0.13 (21 Jan 2019) pthreads

0 Answers0