Have you ever wondered if that black box in your datacenter called the network is performing as well as it should be? Do you have random periods of time where normally fast data movement processes seem to take forever, but the diagnostics on your servers all seem fine? What about validating the network performance back and forth to your disaster recovery site? Let’s go through how to check the network to make sure that all is well, or generate some objective repeatable tests that you can bring to your networking group and ask questions with.

I frequently mention in my presentations a free utility that I use called iperf that you can use to validate your network performance. Several questions came up about where to get it and how to use it. Read on for a walk-through of how to use iperf!

You can validate network performance with a free utility called iperf, and here is a full walk-through of how to use the utility.

You can download a compiled version of iperf3 for Windows for free at Just download it into a folder of your choosing or place it somewhere in the system path so you can execute it from anywhere.

Using the tool is very straightforward. You need two copies of the utility on two different servers. From a command prompt, start up the server node by typing the following command.

iperf -s

That’s it! You just started up the server. We will refer to this as the target server.

On the second server, we will kick of a simple test from this server to the target server. We will call this server the source server. Enter the following command in a command prompt on the source server.

iperf -c (ip address or name of target server) -t 10 -P 10

This command just kicked off a ten second test with maximum throughput testing to the source server. The -P parameter runs ten worker threads to push the performance test to the max. The newer versions of iperf need this to fully stress the connection.

Of course, you can get more sophisticated with your testing at this point, but I keep it simple for most cases unless something unusual pops up.

The results look something like this. (The screenshots are taken from a Linux VM running iperf, but the Windows syntax is identical.)

iperf Server - Different Host

iperf Server – Different Host

iperf Client - Different Host

iperf Client – Different Host

Sweet. 943 Mb per second is almost perfect on a one gigabit network. Looks like my home lab is working properly  🙂

Please remember to test two-way communications by flipping the roles of the utilities. Occasionally, one-way communication problems can pop up! Just last week I found a VLAN routing issue at a client site where a 10GbE network was dropping to 1GbE speeds when we routed between two networks. This misconfiguration would have resulted in all SQL Server database backups running in a tenth of the possible speed.

Enjoy one of my favorite utilities, and validate your environments today! You never know what you’re going to find!