Annotation of embedaddon/iperf/docs/invoking.rst, revision 1.1.1.1
1.1 misho 1: Invoking iperf3
2: ===============
3:
4: iperf3 includes a manual page listing all of the command-line options.
5: The manual page is the most up-to-date reference to the various flags and parameters.
6:
7: For sample command line usage, see:
8:
9: http://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf-and-iperf3/
10:
11: Using the default options, iperf3 is meant to show typical well
12: designed application performance. "Typical well designed application"
13: means avoiding artificial enhancements that work only for testing
14: (such as ``splice()``-ing the data to ``/dev/null``). iperf3 does
15: also have flags for "extreme best case" optimizations but they must be
16: explicitly activated. These flags include the ``-Z`` (``--zerocopy``)
17: and ``-A`` (``--affinity``) options.
18:
19: iperf3 Manual Page
20: ------------------
21:
22: This section contains a plaintext rendering of the iperf3 manual page.
23: It is presented here only for convenience; the authoritative iperf3
24: manual page is included in the source tree and installed along with
25: the executable.
26:
27: ::
28:
29: IPERF(1) User Manuals IPERF(1)
30:
31:
32:
33: NAME
34: iperf3 − perform network throughput tests
35:
36: SYNOPSIS
37: iperf3 ‐s [ options ]
38: iperf3 ‐c server [ options ]
39:
40:
41: DESCRIPTION
42: iperf3 is a tool for performing network throughput measurements. It
43: can test either TCP or UDP throughput. To perform an iperf3 test the
44: user must establish both a server and a client.
45:
46:
47: GENERAL OPTIONS
48: ‐p, ‐‐port n
49: set server port to listen on/connect to to n (default 5201)
50:
51: ‐f, ‐‐format
52: [kmKM] format to report: Kbits, Mbits, KBytes, MBytes
53:
54: ‐i, ‐‐interval n
55: pause n seconds between periodic bandwidth reports; default is
56: 1, use 0 to disable
57:
58: ‐F, ‐‐file name
59: client‐side: read from the file and write to the network,
60: instead of using random data; server‐side: read from the network
61: and write to the file, instead of throwing the data away
62:
63: ‐A, ‐‐affinity n/n,m
64: Set the CPU affinity, if possible (Linux and FreeBSD only). On
65: both the client and server you can set the local affinity by
66: using the n form of this argument (where n is a CPU number). In
67: addition, on the client side you can override the server’s
68: affinity for just that one test, using the n,m form of argument.
69: Note that when using this feature, a process will only be bound
70: to a single CPU (as opposed to a set containing potentialy mul‐
71: tiple CPUs).
72:
73: ‐B, ‐‐bind host
74: bind to a specific interface
75:
76: ‐V, ‐‐verbose
77: give more detailed output
78:
79: ‐J, ‐‐json
80: output in JSON format
81:
82: ‐‐logfile file
83: send output to a log file.
84:
85: ‐d, ‐‐debug
86: emit debugging output. Primarily (perhaps exclusively) of use
87: to developers.
88:
89: ‐v, ‐‐version
90: show version information and quit
91:
92: ‐h, ‐‐help
93: show a help synopsis
94:
95:
96: SERVER SPECIFIC OPTIONS
97: ‐s, ‐‐server
98: run in server mode
99:
100: ‐D, ‐‐daemon
101: run the server in background as a daemon
102:
103: ‐I, ‐‐pidfile file
104: write a file with the process ID, most useful when running as a
105: daemon.
106:
107:
108: CLIENT SPECIFIC OPTIONS
109: ‐c, ‐‐client host
110: run in client mode, connecting to the specified server
111:
112: ‐‐sctp use SCTP rather than TCP (FreeBSD and Linux)
113:
114: ‐u, ‐‐udp
115: use UDP rather than TCP
116:
117: ‐b, ‐‐bandwidth n[KM]
118: set target bandwidth to n bits/sec (default 1 Mbit/sec for UDP,
119: unlimited for TCP). If there are multiple streams (‐P flag),
120: the bandwidth limit is applied separately to each stream. You
121: can also add a ’/’ and a number to the bandwidth specifier.
122: This is called "burst mode". It will send the given number of
123: packets without pausing, even if that temporarily exceeds the
124: specified bandwidth limit.
125:
126: ‐t, ‐‐time n
127: time in seconds to transmit for (default 10 secs)
128:
129: ‐n, ‐‐bytes n[KM]
130: number of bytes to transmit (instead of ‐t)
131:
132: ‐k, ‐‐blockcount n[KM]
133: number of blocks (packets) to transmit (instead of ‐t or ‐n)
134:
135: ‐l, ‐‐length n[KM]
136: length of buffer to read or write (default 128 KB for TCP, 8KB
137: for UDP)
138:
139: ‐P, ‐‐parallel n
140: number of parallel client streams to run
141:
142: ‐R, ‐‐reverse
143: run in reverse mode (server sends, client receives)
144:
145: ‐w, ‐‐window n[KM]
146: TCP window size / socket buffer size (this gets sent to the
147: server and used on that side too)
148:
149: ‐M, ‐‐set‐mss n
150: set TCP maximum segment size (MTU ‐ 40 bytes)
151:
152: ‐N, ‐‐no‐delay
153: set TCP no delay, disabling Nagle’s Algorithm
154:
155: ‐4, ‐‐version4
156: only use IPv4
157:
158: ‐6, ‐‐version6
159: only use IPv6
160:
161: ‐S, ‐‐tos n
162: set the IP ’type of service’
163:
164: ‐L, ‐‐flowlabel n
165: set the IPv6 flow label (currently only supported on Linux)
166:
167: ‐Z, ‐‐zerocopy
168: Use a "zero copy" method of sending data, such as sendfile(2),
169: instead of the usual write(2).
170:
171: ‐O, ‐‐omit n
172: Omit the first n seconds of the test, to skip past the TCP slow‐
173: start period.
174:
175: ‐T, ‐‐title str
176: Prefix every output line with this string.
177:
178: ‐C, ‐‐linux‐congestion algo
179: Set the congestion control algorithm (linux only).
180:
181:
182: AUTHORS
183: Iperf was originally written by Mark Gates and Alex Warshavsky. Man
184: page and maintence by Jon Dugan <jdugan at x1024 dot net>. Other con‐
185: tributions from Ajay Tirumala, Jim Ferguson, Feng Qin, Kevin Gibbs,
186: John Estabrook <jestabro at ncsa.uiuc.edu>, Andrew Gallatin <gallatin
187: at gmail.com>, Stephen Hemminger <shemminger at linux‐foundation.org>
188:
189:
190: SEE ALSO
191: libiperf(3), https://github.com/esnet/iperf
192:
193:
194:
195: ESnet February 2014 IPERF(1)
196:
197: The iperf3 manual page will typically be installed in manual
198: section 1.
199:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>