## NAME

iperf - perform network throughput tests

## SYNOPSIS

iperf -s [ options ]

iperf -c server [ options ]

iperf -u -s [ options ]

iperf -u -c server [ options ]

## DESCRIPTION

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

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

-h, --helpprint a help synopsis

-i, --interval \fIn\fRpause n seconds between periodic bandwidth reports

-l, --len \fIn\fR[KM]set length read/write buffer to n (default 8 KB)

-m, --print_mssprint TCP maximum segment size (MTU - TCP/IP header)

-o, --output <filename>output the report or error message to this specified file

-p, --port \fIn\fRset server port to listen on/connect to to n (default 5001)

-u, --udpuse UDP rather than TCP

-w, --window \fIn\fR[KM]TCP window size (socket buffer size)

-B, --bind <host>bind to <host>, an interface or multicast address

-C, --compatibilityfor use with older versions does not sent extra msgs

-M, --mss \fIn\fRset TCP maximum segment size (MTU - 40 bytes)

-N, --nodelayset TCP no delay, disabling Nagle's Algorithm

-v, --versionprint version information and quit

-V, --IPv6VersionSet the domain to IPv6

-x, --reportexclude[CDMSV] exclude C(connection) D(data) M(multicast) S(settings) V(server) reports

-y, --reportstyle C|cif set to C or c report results as CSV (comma separated values)

## SERVER SPECIFIC OPTIONS

-s, --serverrun in server mode

-U, --single_udprun in single threaded UDP mode

-D, --daemonrun the server as a daemon

## CLIENT SPECIFIC OPTIONS

-b, --bandwidth \fIn\fR[KM]set target bandwidth to n bits/sec (default 1 Mbit/sec). This setting requires UDP (-u).

-c, --client <host>run in client mode, connecting to <host>

-d, --dualtestDo a bidirectional test simultaneously

-n, --num \fIn\fR[KM]number of bytes to transmit (instead of -t)

-r, --tradeoffDo a bidirectional test individually

-t, --time \fIn\fRtime in seconds to transmit for (default 10 secs)

-F, --fileinput <name>input the data to be transmitted from a file

-I, --stdininput the data to be transmitted from stdin

-L, --listenport \fIn\fRport to receive bidirectional tests back on

-P, --parallel \fIn\fRnumber of parallel client threads to run

-T, --ttl \fIn\fRtime-to-live, for multicast (default 1)

-Z, --linux-congestion <algo>set TCP congestion control algorithm (Linux only)

## ENVIRONMENT

TCP_WINDOW_SIZEControls the size of TCP buffers.

## DIAGNOSTICS

This section needs to be filled in.

## BUGS

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

## AUTHORS

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

http://iperf.sourceforge.net/