iperf and iperf3 shows different network bandwidths

NKD picture NKD · Apr 26, 2017 · Viewed 12k times · Source

I am trying to understand the difference between iperf (version=2.0.8b) and iperf3 (version=3.15) which are showing different network bandwidths between the two VMs and with same parameters.

When I run "iperf -s" on server and "iperf -c -t 30 -P 8" on client, I get the bandwidth equal to 45 Gb/s. But, when I run "iperf3 -s" on server and "iperf3 -c -t 30 -P8", I am getting 25 Gb/s as network bandwidth. So, there is a difference of 15Gb/s.

Any idea what could be the cause of this big difference? What are the main differences between iperf and iperf3?

Thanks a lot

NKD

Answer

Bruce A. Mah picture Bruce A. Mah · Apr 26, 2017

There are a couple of possible reasons for the difference: One is that iperf2 has a multi-threaded design that might very possibly perform better than iperf3 on parallel tests (-P 8). Another is that iperf3's TCP window size might be set too small and you might need to make it larger with the -w option.

More information on the comparative use of iperf2 and iperf3 can be found here:

http://fasterdata.es.net/performance-testing/network-troubleshooting-tools/throughput-tool-comparision/