iperf man page

iperf — perform network throughput tests


iperf -s [ options ]

iperf -c server [ options ]

iperf -u -s [ options ]

iperf -u -c server [ options ]


iperf is a tool for performing network throughput measurements.  It can test either TCP or UDP throughput.  To perform an iperf test the user must establish both a server (to discard traffic) and a client (to generate traffic).  

General Options

-e, --enhanced

Display enhanced output in reports

-f, --format

[kmKM]   format to report: Kbits, Mbits, KBytes, MBytes

-h, --help

print a help synopsis

-i, --interval n

pause n seconds between periodic bandwidth reports

-l, --len n[KM]

set length read/write buffer to n (default 8 KB)

-m, --print_mss

print TCP maximum segment size (MTU - TCP/IP header)

-o, --output filename

output the report or error message to this specified file

-p, --port n

set server port to listen on/connect to to n (default 5001)

-u, --udp

use UDP rather than TCP

-w, --window n[KM]

TCP window size (socket buffer size)

-z, --realtime

Request realtime scheduler, if supported.

-B, --bind host

bind to host, an interface or multicast address

-C, --compatibility

for use with older versions does not sent extra msgs

-M, --mss n

set TCP maximum segment size (MTU - 40 bytes)

-N, --nodelay

set TCP no delay, disabling Nagle's Algorithm

-v, --version

print version information and quit

-V, --IPv6Version

Set the domain to IPv6

-x, --reportexclude [CDMSV]

exclude C(connection) D(data) M(multicast) S(settings) V(server) reports

-y, --reportstyle C|c

if set to C or c report results as CSV (comma separated values)

Server Specific Options

-s, --server

run in server mode

-U, --single_udp

run in single threaded UDP mode

-D, --daemon

run the server as a daemon.  On Windows this will also install the IPerfService.

-R, --remove

remove the IPerfService (Windows only).

Client Specific Options

-b, --bandwidth n[KMG] | npps

set target bandwidth to n bits/sec (default 1 Mbit/sec) or n packets per sec.  This may be used with TCP or UDP.

-c, --client host

run in client mode, connecting to host

-d, --dualtest

Do a bidirectional test simultaneously

-n, --num n[KM]

number of bytes to transmit (instead of -t)

-r, --tradeoff

Do a bidirectional test individually

-t, --time n

time in seconds to transmit for (default 10 secs)

-B, --bind ip | ip:port

bind src addr(s) from which to originate traffic

-F, --fileinput name

input the data to be transmitted from a file

-I, --stdin

input the data to be transmitted from stdin

-L, --listenport n

port to recieve bidirectional tests back on

-P, --parallel n

number of parallel client threads to run

-T, --ttl n

time-to-live, for multicast (default 1)

-Z, --linux-congestion algo

set TCP congestion control algorithm (Linux only)



Controls the size of TCP buffers.


This section needs to be filled in.


Exit statuses are inconsistent. The threading implementation is rather heinous.


Iperf was originally written by Mark Gates and Alex Warshavsky. Man page and maintence by Jon Dugan <jdugan at x1024 dot net>. Other contributions from Ajay Tirumala, Jim Ferguson, Feng Qin, Kevin Gibbs, John Estabrook <jestabro at ncsa.uiuc.edu>, Andrew Gallatin <gallatin at gmail.com>, Stephen Hemminger <shemminger at linux-foundation.org>

See Also



APRIL 2008 NLANR/DAST User Manuals