iperf bandwidth testing tool

iperf is an easy to use point-to-point bandwidth testing tool that can use either TCP or UDP. It has nicely formatted output and a parallel test mode. Its commonly used network testing tool that can create TCP and UDP data streams and measure the throughput of a network that is carrying them.

logo_iperf_command

Iperf features

TCP
Measure bandwidth
Report MSS/MTU size and observed read sizes.
Support for TCP window size via socket buffers.
Multi-threaded if pthreads or Win32 threads are available. Client and server can have multiple simultaneous connections.
UDP
Client can create UDP streams of specified bandwidth.
Measure packet loss
Measure delay jitter
Multicast capable
Multi-threaded if pthreads are available. Client and server can have multiple simultaneous connections. (This doesn’t work in Windows.)

Where appropriate, options can be specified with K (kilo-) and M (mega-) suffices. So 128K instead of 131072 bytes.
Can run for specified time, rather than a set amount of data to transfer.
Picks the best units for the size of data being reported.
Server handles multiple connections, rather than quitting after a single test.
Print periodic, intermediate bandwidth, jitter, and loss reports at specified intervals.
Run the server as a daemon.
Run the server as a Windows NT Service
Use representative streams to test out how link layer compression affects your achievable bandwidth.

Iperf Installation

cd /usr/local/src

Download latest version

wget http://downloads.sourceforge.net/project/iperf/iperf-2.0.5.tar.gz
tar -zxvf iperf-2.0.5.tar.gz
cd iperf-2.0.5

./configure      — configure for your machine
make             — compile Iperf
make install     — install Iperf, if desired

Example

iperf -s               (on machine “foo.bar.edu”)
iperf -c foo.bar.edu   (on some other machine)
iperf -h               (for help screen)
iperf -v               (for version information)