3

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

NKD
  • 51
  • 1
  • 2
  • 4

1 Answers1

3

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/

Bruce A. Mah
  • 386
  • 1
  • 6
  • Thanks for the useful info and link. I tried larger window size with iperf3 but it did not help. – NKD Apr 26 '17 at 19:20
  • 2
    You should accept Bruce's answer. For very high bandwidth links, iperf2 will report more accurate results due to its multi-threaded model. Iperf3 runs in a single core and will be CPU-bound. – Rick Nov 11 '21 at 01:48