Chris Hall bio photo

Chris Hall

Making technology fit my requirements...

Windows, Linux, Virtualisation, Unified Computing & Cloud Offerings Design Engineer.

PolarCloudsUK Chris LinkedIn Github

iPerf speed There are times in tech when you get to hear about a particular piece of software written to do a particular job and you think “yeah I’ve heard about that, I should check it out.”

Then you forget all about it (well I do) and life moves on. Months / years / decades (yeah… I know…) later, you hear about the same piece of software and once again you think “oh yeah, I really should check that out.”

For me such a piece of software is iPerf.

Embarrassingly, I first heard of iPerf back in the VMware ESX 2.5 / 3.0.x days; circa 2005. Some three years before I started posting to inter-webs. Well, here we are, some 15 years later and I’ve finally got around to looking at iPerf and how to apply it to some simple network testing.

So here we are.

Overview

What is iPerf?

Wikipedia describes iPerf as:

A widely used tool for network performance measurement and tuning. It is significant as a cross-platform tool that can produce standardized performance measurements for any network. iPerf has client and server functionality, and can create data streams to measure the throughput between the two ends in one or both directions. Typical iPerf output contains a time-stamped report of the amount of data transferred and the throughput measured.

With that in mind, lets get testing.

Downloading iPerf

Unsurprisingly given it’s age, there are a few versions of iPerf to choose from. For simplicity, we will concentrate here on the latest version of iPerf; version 3.x onwards.

The home of iPerf is iperf.fr. As can be seen from the download page, iPerf is available for lots of platforms including Windows, Linux, FreeBSD, Apple macOS, Android and Apple iOS.

In this post, I’ll be concentrating on the following distributions (click to grab your own copy):

Get it on Google Play Magic iPerf for Android Windows Download iPerf for Windows 64bit Get it on Apple App Store iPerf 3 Wifi Speed Test

iPerf Basics

Network testing with iPerf requires two instances of iPerf to be running at any one time:

  • One instance running in server mode
  • One instance running in client mode

In fact, iPerf is so simple to run to achieve basic throughput testing, the basic command set can be seen in the following diagrams: Client Server Forward

Reverse client to server testing is achieved using the -R switch:

Client Server Reverse

Results

Windows to Windows

Testing from VM to VM within VMware ESXi, I achieved the following:

Client:VM to VM iPerf Client(Click image to zoom in) Server:VM to VM iPerf Server(Click image to zoom in)

3.49Gbits per second. Not bad :sunglasses:

Google Pixel to Windows

Testing from my Google Pixel via WiFi to my laptop connected via a network cable to my router, I achieved the following:

Client:Pixel to VM iPerf Client(Click image to zoom in) Server:Pixel to VM iPerf Server(Click image to zoom in)

304Mbits per second. Nice!

Apple iPhone to Windows

Testing from Apple iPhone via WiFi to my laptop connected via a network cable to my router, I achieved the following:

Client:iPhone to VM iPerf Client(Click image to zoom in) Server:iPhone to VM iPerf Server(Click image to zoom in)

251Mbits per second. Not quite as fast as the Pixel, bit still quite respectable

Apple iPhone to Google Pixel

Finally, testing from Apple iPhone to Google Pixel via WiFi, I achieved the following:

Client:iPhone to Pixel Client(Click image to zoom in) Server:iPhone to Pixel Server(Click image to zoom in)

WiFi to WiFi? No problem!
Bit slower at 112Mbits per second, still respectable

Conclusion

So there we have it. Some simple network throughput testing using freeware apps on common platforms.

Good to see the Pixel beat the iPhone :smile:

-Chris