iperf
iperf copied to clipboard
Difference in output between client and server
Context
-
Version of iperf3:3.11
-
Hardware: AMD64
-
Operating system (and distribution, if any): VM Ubuntu 20.04
I'm running some UDP tests from my Ubuntu VM.
The command I use for the client is :
iperf3 -u -c hostname -p xxxxx --get-server-output
And for server :
iperf3 -s -1 -p xxxxx --rcv-timeout 2000
What I observed was that there was a difference between the output of the client and the output of the server.
[ ID] Interval Transfer Bitrate Total Datagrams
[ 5] 0.00-1.00 sec 128 KBytes 1.05 Mbits/sec 90
[ 5] 1.00-2.01 sec 127 KBytes 1.04 Mbits/sec 89
[ 5] 2.01-3.00 sec 130 KBytes 1.07 Mbits/sec 91
[ 5] 3.00-4.00 sec 127 KBytes 1.04 Mbits/sec 89
[ 5] 4.00-5.00 sec 128 KBytes 1.05 Mbits/sec 90
[ 5] 5.00-6.00 sec 128 KBytes 1.05 Mbits/sec 90
[ 5] 6.00-7.00 sec 128 KBytes 1.05 Mbits/sec 90
[ 5] 7.00-8.00 sec 127 KBytes 1.04 Mbits/sec 89
[ 5] 8.00-9.00 sec 128 KBytes 1.06 Mbits/sec 90
[ 5] 9.00-10.00 sec 128 KBytes 1.05 Mbits/sec 90
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.00 sec 1.25 MBytes 1.05 Mbits/sec 0.000 ms 0/898 (0%) sender
[ 5] 0.00-10.05 sec 1.25 MBytes 1.04 Mbits/sec 1.939 ms 0/898 (0%) receiver
Server output:
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-1.00 sec 121 KBytes 993 Kbits/sec 1.005 ms 0/85 (0%)
[ 5] 1.00-2.00 sec 128 KBytes 1.05 Mbits/sec 1.319 ms 0/90 (0%)
[ 5] 2.00-3.00 sec 128 KBytes 1.05 Mbits/sec 1.324 ms 0/90 (0%)
[ 5] 3.00-4.00 sec 124 KBytes 1.02 Mbits/sec 1.713 ms 0/87 (0%)
[ 5] 4.00-5.00 sec 131 KBytes 1.07 Mbits/sec 1.108 ms 0/92 (0%)
[ 5] 5.00-6.00 sec 128 KBytes 1.05 Mbits/sec 2.422 ms 0/90 (0%)
[ 5] 6.00-7.00 sec 128 KBytes 1.05 Mbits/sec 0.964 ms 0/90 (0%)
[ 5] 7.00-8.00 sec 127 KBytes 1.04 Mbits/sec 2.359 ms 0/89 (0%)
[ 5] 8.00-9.00 sec 127 KBytes 1.04 Mbits/sec 1.893 ms 0/89 (0%)
[ 5] 9.00-10.00 sec 130 KBytes 1.06 Mbits/sec 1.799 ms 0/91 (0%)
[ 5] 10.00-10.05 sec 7.13 KBytes 1.15 Mbits/sec 1.939 ms 0/5 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.05 sec 1.25 MBytes 1.04 Mbits/sec 1.939 ms 0/898 (0%) receiver
So at the above example there is an extra interval compared with the ones of the client :
[ 5] 10.00-10.05 sec 7.13 KBytes 1.15 Mbits/sec 1.939 ms 0/5 (0%)
Does anybody knows why this is happening and if there is a way to always achieve the same intervals both on the client and the server side.
Thank you fro your time.
Functionality seems to be ok. The reason for this behavior is that the iperf3 client is responsible to end the test. At the end of the test the client notifies the server that the test ended.
In this case, after 10 seconds the client ends the test and therefore doesn't print any statistics beyond the "9.00-10.00" period. However, it took some time until the server received the test end message, and therefore it printed statistics for these 50ms period ("10.00-10.05"). Note that at this period, the last 7K bytes were received.