While tools to measure network performance, such as ttcp, exist, most are
very old and have confusing options. Iperf was developed as a modern alternative
for measuring TCP and UDP bandwidth performance.
Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of
various parameters and UDP characteristics. Iperf reports bandwidth, delay
jitter, datagram loss.
-
User Contributed Code
Please note these contributions are provided purely "as-is", as a courtesy to the user community. We can't help you debug
or support them, and take no responsibility for them if they format your hard drive or wreck your car.
- Iperf 2.0.2 OSX installer - Provided by Ali Asad Lotia (lotia at UMich)
iperf.zip
- Iperf 2.0.2 installer for Windows - Provided by Ted Fines (fines@macalester.edu) at Macalester College, St. Paul, MN
kperf_setup.exe
Originally posted at http://www.macalester.edu/crash/software/pc/iperf/kperf_setup.exe
From Ted: "It was built using cygwin, and includes the jperf GUI. It installs into c:\program files\iperf-2.0.2\
The command line binary should just work for you. YMMV with the Java GUI. One one system, it worked, and
on another it didn't. Probably something to do with different Java versions.
I made every effort to include the license agreements, and make no claim of credit for authorship of the
actual programs. It's just an installer."
- Patch for iperf and DCCP on Linux - Provided by Ian McDonald, WAND Network Research Group, University of Waikato, New Zealand
http://wand.net.nz/~iam4/dccp/dccp-iperf-2.0.2-1.diff (Original Patch)
Local copy of patch copied from above URL on 11/1/05
Based on the work that Stephen Hemminger and Arnaldo did earlier.
Notes:
- Applies against 2.0.2
- Uses a default service (can't alter it at present)
- You specify protcol by --protocol/-X (see --help for more details)
- Set the packet size to under MSS by -l or else it will fail
- Works on Linux only as far as I am aware
To do still:
- make code tidier (my code is pretty ugly and Linux specific at the >moment) and get into iperf codebase
- add support for selecting TCP congestion mechanisms.
- use DCCP option for altering packet size
Problems, questions, or suggestions about Iperf?
Subscribe to the Iperf users' mailing list, at:

iperf-users /at/ dast /dot/ nlanr /dot/ net
by sending an email to:

majordomo /at/ dast /dot/ nlanr /dot/ net
with "subscribe iperf-users" (without the quotes) in the BODY of the mail. Make sure the
rest of the body of the mail is empty, and that you put no signature file (.sig) on the mail.
You will be sent confirmation mail with a string to send back.
(Similarly, you can unsubscribe by sending "unsubscribe iperf-users" to the same address.)
Once you're subscribed to iperf-users, please send your feedback there. Thanks!
Note: The Iperf-Users list is publicly archived!
Please note that due the incredible volume of spam we get, this has been turned
into a closed list that can only be sent to by subscribers.
Non-subscriber email to this list is automatically discarded.
Another way to contact us is to use the
DAST contact webform.
- Known Problems
-
If your C/C++ compiler is a cross-compiler, it runs into problems with
Iperf configure scripts. The solution is generally to try out different
compilers and check which of them is not a cross-compiler. We expect
to come up with a better solution shortly.
For a complete list of known problems, refer to the list that comes with the installation.
Please also read the User
docs for additional features and detailed examples and the list of known problems
which comes along with your install (KNOWN_PROBLEMS) before sending us mail.
- Documentation and Previous Versions
- Iperf User Docs
- Iperf 1.1.1, along with complete documentation.
- Related Tools
- Autobuf
You can check out the Automatic TCP Window Tuned FTP, Autobuf. NcFTP has been
modified here to achieve greater file transfer rates.
Nettest
You can also check out Nettest, which is a Secure Network
Monitoring tool. It includes a set of Network testing tools including Iperf 1.2.
Bandwidth Control (BWCTL)
BWCTL is a command line client application and a scheduling and policy daemon that wraps Iperf.
Currently BWCTL wraps Iperf by actually executing the Iperf command line program on the
system. The bwctl client application works by contacting a bwctld process on the two
test endpoint systems. BWCTL will work as a 3-party application. The client can arrange
a test between two servers on two different systems. If the local system is intended to
be one of the endpoints of the test a local bwctld is not required, bwctl will detect that
there is no local server and execute the required bwctld functionality directly. bwctld
manages and schedules the resources of the host on which it runs.
Here are some additional links you may find useful
- Enabling High Performance Data Transfers
- This is a very thorough reference for performace tuning and covers lots of OS specific settings.
- TCP over WAN Performance Tuning and Troubleshooting
- General tuning tips, includes a troubleshooting section which is useful.
- Windows 2000 TCP Performance Tuning Tips
- Performance tuning specifically for Windows 2000, most of which is applicable to Windows XP as well.
- ANL tcpbw100 applet
- This applet attempts to determine your link and duplex settings and tries to solve some possible errors.
- A User's Guide to TCP Windows
- Information on TCP Windows and some examples of how to set them.
- NLANR ES: TCP Performance Tools
- Lists some performance tools and describes what they are.
- TCP Tuning Guide
- Extensive guide on TCP Tuning and hints. Specifics for some OSes.
- Acknowledgements
- Thanks to Mark Gates (NLANR), Alex Warshavsky (NLANR) and Justin Pietsch (University of Washington) who were responsible for the 1.1.x releases of Iperf. For this release, we would like to thank Bill Cerveny (Internet2), Micheal Lambert (PSC), Dale Finkelson (UNL) and Matthew Zekauskas (Internet2) for help in getting access to IPv6 networks / machines. Special thanks to Matthew Zekauskas (Internet2) for helping out in the FreeBSD implementation. Also, thanks to Kraemer Oliver (Sony) for providing an independent implementation of IPv6 version of Iperf, which provided a useful comparison for testing our features.
Copyright 1999-2005
The Board of Trustees of the University
of Illinois
All rights reserved
See UI License for
complete details.