iPerf2 vs iPerf3

By December 13, 2017Network Engineering

iPerf V2 vs iPerf V3

Iperf is a program that I take for granted because I’ve used it for so many years.
I’m always surprised when I mention iPerf and people say they are not familiar with it or what it does.

iPerf is a utility used to measure bandwidth or performance. It runs on memory by default, so your disk subsystem is not used. Multiple versions exist, including  Microsoft Windows, Linux Android, and Apple, which makes it a great cross-platform tool.

A quick disclaimer about performance measurement tools:

Every performance tool will have its own special way of conducting tests and reporting results so don’t be surprised when you run a test using two different tools and get slightly different results. The key is to be consistent with the tool you use and document your methodology. When documenting the methodology, you can easily compare your findings with other tools and when anything changes.

Even a tool that copies a file and measures throughput statistics will have different results depending on the protocol used, how busy the client, server, and network are at that time. Then when you change the operating system or hardware, all of your results will most likely change as well.

Even in running the same tool multiple times you may receive slightly different results. Be sure to pay attention to the results and a possible variance between the results.

Certain types of networks will have consistently inconsistent performances by nature (such as WiFi, long distance or high latency links).

I will cover the various versions of iPerf and their differences below:

I know people who prefer certain versions – that’s fine, there is no good or bad version, they all have their pros and cons.
In this video, I will specifically concentrate on Versions 2 and 3 on Windows.  

To find iPerf for your specific operating system, go to https://iPerf.fr/iPerf-download.php

Sample iPerf v2.0.9 Commands:

iperf c servername

  • Performs a TCP upload from the client and server

iperf c servername r

  • Performs a TCP upload then download between the client and server

iperf c servername p 80(server requires same option)

  • Performs a TCP upload from the client and server on TCP port 80

iperf c servername P 3

  • Performs 3 simultaneous TCP uploads from the client and server

iperf c servername t 100

  • Performs a TCP upload from the client and server for 100 seconds

iperf c servername t 100 i 10

  • Performs a TCP upload from the client and server for 100 seconds, reporting results every 10 seconds

iperf c servername b 100 Kb

  • Performs a TCP upload from the client using 100 kb/s
  • rjmcmahon

    Just an FYI, we’re working on iperf 2.0.11 now. It adds support for isochronous traffic testing, variable bit rates, udp latency histograms for packets and for frames (or bursts), and source specific multicast for both v4 and v6.