iperf (1)
NAME
iperf - perform network throughput testsSYNOPSIS
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
- -e, --enhanced
- Display enhanced output in reports
- -f, --format
- [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes (see NOTES for more)
- -h, --help
- print a help synopsis
- -i, --interval n
- pause n seconds between periodic bandwidth reports
- -l, --len n[kmKM]
- set read/write buffer size (TCP) or length (UDP) to n (TCP default 128K, UDP default 1470)
- -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
- --udp-counters-64bit
- use 64 bit UDP sequence numbers
- -w, --window n[kmKM]
- 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
- -S, --tos
- set the socket's IP_TOS (byte) field
- -v, --version
- print version information and quit
- -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
- -D, --daemon
- run the server as a daemon. On Windows this will also install the IPerfService.
- -R, --remove
- remove the IPerfService (Windows only).
- -U, --single_udp
- run in single threaded UDP mode
- -V, --ipv6_domain
- Enable IPv6 reception by setting the domain and socket to AF_INET6 (Can receive on both IPv4 and IPv6)
CLIENT SPECIFIC OPTIONS
- -b, --bandwidth n[kmgKMG] | 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[kmKM]
- number of bytes to transmit (instead of -t)
- -r, --tradeoff
- Do a bidirectional test individually
- -t, --time n
- time in seconds to listen for new traffic connections, receive traffic or transmit traffic (Defaults: transmit is 10 secs while listen and receive are indefinite)
- -B, --bind ip | ip:port | ipv6 -V | [ipv6]:port -V
- bind src addr(s) and ports from which to originate traffic (Note: -V option required for ipv6)
- -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 receive bidirectional tests back on
- -P, --parallel n
- number of parallel client threads to run
- -R, --reverse
- reverse the traffic flow after header exchange, useful for testing through firewalls
- -T, --ttl n
- time-to-live, for multicast (default 1)
- -V, --ipv6_domain
- Set the domain to IPv6 (send packets over IPv6)
- -X, --peerdetect
- run server version detection prior to traffic.
- -Z, --linux-congestion algo
- set TCP congestion control algorithm (Linux only)
ENVIRONMENT
- TCP_WINDOW_SIZE
- Controls the size of TCP buffers.