Using iperf multi-stream may not work as expected

Running iperf with parallel threads

TL;DR – When running iperf with parallel threads/workers the -P option must be specified after the -c <target-IP> option. This is mentioned in the manpage but some options (-t for instance) work in any order, while others (specifically the -P for parallel threads) definitely does not, which is a bit confusing.

For example – these two invocations of iperf give very different results

  • iperf -P 5 -c (The -P before -c) -Yields 20.4 Gbits/sec
  • iperf -c -P 5 (The -P after the -c)- Yields 78.3 Gbits/sec
Continue reading