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).
-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)
-s, --serverrun in server mode
-U, --single_udprun in single threaded UDP mode
-D, --daemonrun the server as a daemon
-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)
TCP_WINDOW_SIZEControls 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>