Annotation of embedaddon/iperf/src/iperf3.1, revision 1.1
1.1 ! misho 1: .TH IPERF 1 "October 2015" ESnet "User Manuals"
! 2: .SH NAME
! 3: iperf3 \- perform network throughput tests
! 4: .SH SYNOPSIS
! 5: .B iperf3 -s [
! 6: .I options
! 7: .B ]
! 8: .br
! 9: .B iperf3 -c
! 10: .I server
! 11: .B [
! 12: .I options
! 13: .B ]
! 14:
! 15: .SH DESCRIPTION
! 16: iperf3 is a tool for performing network throughput measurements. It can test
! 17: either TCP or UDP throughput. To perform an iperf3 test the user must
! 18: establish both a server and a client.
! 19:
! 20: .SH "GENERAL OPTIONS"
! 21: .TP
! 22: .BR -p ", " --port " \fIn\fR"
! 23: set server port to listen on/connect to to \fIn\fR (default 5201)
! 24: .TP
! 25: .BR -f ", " --format " "
! 26: [kmKM] format to report: Kbits, Mbits, KBytes, MBytes
! 27: .TP
! 28: .BR -i ", " --interval " \fIn\fR"
! 29: pause \fIn\fR seconds between periodic bandwidth reports;
! 30: default is 1, use 0 to disable
! 31: .TP
! 32: .BR -F ", " --file " \fIname\fR"
! 33: client-side: read from the file and write to the network, instead
! 34: of using random data;
! 35: server-side: read from the network and write to the file, instead
! 36: of throwing the data away
! 37: .TP
! 38: .BR -A ", " --affinity " \fIn/n,m\fR"
! 39: Set the CPU affinity, if possible (Linux and FreeBSD only).
! 40: On both the client and server you can set the local affinity by using
! 41: the \fIn\fR form of this argument (where \fIn\fR is a CPU number).
! 42: In addition, on the client side you can override the server's
! 43: affinity for just that one test, using the \fIn,m\fR form of
! 44: argument.
! 45: Note that when using this feature, a process will only be bound
! 46: to a single CPU (as opposed to a set containing potentialy multiple
! 47: CPUs).
! 48: .TP
! 49: .BR -B ", " --bind " \fIhost\fR"
! 50: bind to a specific interface
! 51: .TP
! 52: .BR -V ", " --verbose " "
! 53: give more detailed output
! 54: .TP
! 55: .BR -J ", " --json " "
! 56: output in JSON format
! 57: .TP
! 58: .BR --logfile " \fIfile\fR"
! 59: send output to a log file.
! 60: .TP
! 61: .BR -d ", " --debug " "
! 62: emit debugging output.
! 63: Primarily (perhaps exclusively) of use to developers.
! 64: .TP
! 65: .BR -v ", " --version " "
! 66: show version information and quit
! 67: .TP
! 68: .BR -h ", " --help " "
! 69: show a help synopsis
! 70:
! 71: .SH "SERVER SPECIFIC OPTIONS"
! 72: .TP
! 73: .BR -s ", " --server " "
! 74: run in server mode
! 75: .TP
! 76: .BR -D ", " --daemon " "
! 77: run the server in background as a daemon
! 78: .TP
! 79: .BR -I ", " --pidfile " \fIfile\fR"
! 80: write a file with the process ID, most useful when running as a daemon.
! 81: .TP
! 82: .BR -1 ", " --one-off
! 83: handle one client connection, then exit.
! 84:
! 85: .SH "CLIENT SPECIFIC OPTIONS"
! 86: .TP
! 87: .BR -c ", " --client " \fIhost\fR"
! 88: run in client mode, connecting to the specified server
! 89: .TP
! 90: .BR --sctp
! 91: use SCTP rather than TCP (FreeBSD and Linux)
! 92: .TP
! 93: .BR -u ", " --udp
! 94: use UDP rather than TCP
! 95: .TP
! 96: .BR -b ", " --bandwidth " \fIn\fR[KM]"
! 97: set target bandwidth to \fIn\fR bits/sec (default 1 Mbit/sec for UDP, unlimited for TCP).
! 98: If there are multiple streams (\-P flag), the bandwidth limit is applied
! 99: separately to each stream.
! 100: You can also add a '/' and a number to the bandwidth specifier.
! 101: This is called "burst mode".
! 102: It will send the given number of packets without pausing, even if that
! 103: temporarily exceeds the specified bandwidth limit.
! 104: Setting the target bandwidth to 0 will disable bandwidth limits
! 105: (particularly useful for UDP tests).
! 106: On platforms supporting the \fCSO_MAX_PACING_RATE\fR socket option
! 107: (currently only Linux), fair-queueing socket-level pacing, implemented in
! 108: the kernel, will be used.
! 109: On other platforms, iperf3 will implement its own rate control.
! 110: .TP
! 111: .BR --no-fq-socket-pacing
! 112: disable the use of fair-queueing based socket-level pacing with the -b
! 113: option, and rely on iperf3's internal rate control.
! 114: .TP
! 115: .BR -t ", " --time " \fIn\fR"
! 116: time in seconds to transmit for (default 10 secs)
! 117: .TP
! 118: .BR -n ", " --bytes " \fIn\fR[KM]"
! 119: number of bytes to transmit (instead of \-t)
! 120: .TP
! 121: .BR -k ", " --blockcount " \fIn\fR[KM]"
! 122: number of blocks (packets) to transmit (instead of \-t or \-n)
! 123: .TP
! 124: .BR -l ", " --length " \fIn\fR[KM]"
! 125: length of buffer to read or write (default 128 KB for TCP, 8KB for UDP)
! 126: .TP
! 127: .BR --cport " \fIport\fR"
! 128: bind data streams to a specific client port (for TCP and UDP only,
! 129: default is to use an ephemeral port)
! 130: .TP
! 131: .BR -P ", " --parallel " \fIn\fR"
! 132: number of parallel client streams to run
! 133: .TP
! 134: .BR -R ", " --reverse
! 135: run in reverse mode (server sends, client receives)
! 136: .TP
! 137: .BR -w ", " --window " \fIn\fR[KM]"
! 138: window size / socket buffer size (this gets sent to the server and used on that side too)
! 139: .TP
! 140: .BR -M ", " --set-mss " \fIn\fR"
! 141: set TCP/SCTP maximum segment size (MTU - 40 bytes)
! 142: .TP
! 143: .BR -N ", " --no-delay " "
! 144: set TCP/SCTP no delay, disabling Nagle's Algorithm
! 145: .TP
! 146: .BR -4 ", " --version4 " "
! 147: only use IPv4
! 148: .TP
! 149: .BR -6 ", " --version6 " "
! 150: only use IPv6
! 151: .TP
! 152: .BR -S ", " --tos " \fIn\fR"
! 153: set the IP 'type of service'
! 154: .TP
! 155: .BR -L ", " --flowlabel " \fIn\fR"
! 156: set the IPv6 flow label (currently only supported on Linux)
! 157: .TP
! 158: .BR -X ", " --xbind " \fIname\fR"
! 159: Bind SCTP associations to a specific subset of links using sctp_bindx(3).
! 160: The \fB--B\fR flag will be ignored if this flag is specified.
! 161: Normally SCTP will include the protocol addresses of all active links
! 162: on the local host when setting up an association. Specifying at least
! 163: one \fB--X\fR name will disable this behaviour.
! 164: This flag must be specified for each link to be included in the
! 165: association, and is supported for both iperf servers and clients
! 166: (the latter are supported by passing the first \fB--X\fR argument to bind(2)).
! 167: Hostnames are accepted as arguments and are resolved using
! 168: getaddrinfo(3).
! 169: If the \fB--4\fR or \fB--6\fR flags are specified, names
! 170: which do not resolve to addresses within the
! 171: specified protocol family will be ignored.
! 172: .TP
! 173: .BR --nstreams " \fIn\fR"
! 174: Set number of SCTP streams.
! 175: .TP
! 176: .BR -Z ", " --zerocopy " "
! 177: Use a "zero copy" method of sending data, such as sendfile(2),
! 178: instead of the usual write(2).
! 179: .TP
! 180: .BR -O ", " --omit " \fIn\fR"
! 181: Omit the first n seconds of the test, to skip past the TCP slow-start
! 182: period.
! 183: .TP
! 184: .BR -T ", " --title " \fIstr\fR"
! 185: Prefix every output line with this string.
! 186: .TP
! 187: .BR -C ", " --congestion " \fIalgo\fR"
! 188: Set the congestion control algorithm (Linux and FreeBSD only). An
! 189: older
! 190: .B --linux-congestion
! 191: synonym for this flag is accepted but is deprecated.
! 192: .TP
! 193: .BR "--get-server-output"
! 194: Get the output from the server.
! 195: The output format is determined by the server (in particular, if the
! 196: server was invoked with the \fB--json\fR flag, the output will be in
! 197: JSON format, otherwise it will be in human-readable format).
! 198: If the client is run with \fB--json\fR, the server output is included
! 199: in a JSON object; otherwise it is appended at the bottom of the
! 200: human-readable output.
! 201:
! 202: .SH AUTHORS
! 203: A list of the contributors to iperf3 can be found within the
! 204: documentation located at
! 205: \fChttp://software.es.net/iperf/dev.html#authors\fR.
! 206:
! 207: .SH "SEE ALSO"
! 208: libiperf(3),
! 209: http://software.es.net/iperf
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>