343c141874
Issue: 108 (Runtime error on OpenBSD 5.4 AMD64)
111 строки
3.7 KiB
Plaintext
111 строки
3.7 KiB
Plaintext
= Summary =
|
|
|
|
iperf3 is a tool for measuring achievable bandwidth on IP networks.
|
|
|
|
iperf3 is NOT backwards compatible with the original iperf.
|
|
|
|
Supported platforms:
|
|
* Linux
|
|
* FreeBSD
|
|
* Mac OSX
|
|
|
|
= Building iperf3 =
|
|
|
|
== Prerequisites: ==
|
|
* libuuid: this is not installed by default for Debian/Ubuntu Systems
|
|
to install: apt-get install uuid-dev
|
|
|
|
== Building ==
|
|
|
|
./configure; make; make install
|
|
|
|
(Note: If configure fails, try running ./bootstrap.sh first)
|
|
|
|
= Latest version =
|
|
|
|
To check out the most recent code, do: hg clone http://code.google.com/p/iperf/
|
|
|
|
|
|
= Bug Reports =
|
|
|
|
Before submitting a bug report, try checking out the latest version of
|
|
the code, and confirm that its not already fixed. Then submit to:
|
|
https://code.google.com/p/iperf/issues/list
|
|
|
|
For more information see: http://code.google.com/p/iperf/
|
|
|
|
= Changes from iperf 2.x =
|
|
|
|
New options:
|
|
|
|
-V, --verbose more detailed output than before
|
|
-J, --json output in JSON format
|
|
-Z, --zerocopy use a 'zero copy' sendfile() method of sending data
|
|
-O, --omit N omit the first n seconds (to ignore slowstart)
|
|
-T, --title str prefix every output line with this string
|
|
-F, --file name xmit/recv the specified file
|
|
-A, --affinity n/n,m set CPU affinity (Linux and FreeBSD only)
|
|
-k, --blockcount #[KMG] number of blocks (packets) to transmit (instead
|
|
of -t or -n)
|
|
-L, --flowlabel set IPv6 flow label (Linux only)
|
|
|
|
Changed flags:
|
|
-C, --linux-congestion set congestion control algorithm (Linux only)
|
|
(-Z in iperf2.0)
|
|
|
|
|
|
Deprecated options:
|
|
|
|
Not planning to support these iperf2 flags. If you really miss these
|
|
options, please submit a request in the issue tracker:
|
|
|
|
-d, --dualtest Do a bidirectional test simultaneously
|
|
-r, --tradeoff Do a bidirectional test individually
|
|
-T, --ttl time-to-live, for multicast (default 1)
|
|
-x, --reportexclude [CDMSV] exclude C(connection) D(data) M(multicast)
|
|
S(settings) V(server) reports
|
|
-y, --reportstyle C report as a Comma-Separated Values
|
|
|
|
Also deprecated is the ability to set the options via environment
|
|
variables.
|
|
|
|
For sample command line usage, see:
|
|
|
|
http://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf-and-iperf3/
|
|
|
|
|
|
Using the default options, iperf is meant to show typical well
|
|
designed application performance. 'Typical well designed application'
|
|
means avoiding artificial enhancements that work only for testing
|
|
(such as splice()'ing the data to /dev/null). iperf does also have
|
|
flags for 'extreme best case' optimizations but they must be
|
|
explicitly activated.
|
|
|
|
These flags include:
|
|
-Z, --zerocopy use a 'zero copy' sendfile() method of sending data
|
|
-A, --affinity n/n,m set CPU affinity
|
|
|
|
|
|
= Known Issues =
|
|
|
|
* UDP performance: iperf2/iperf3 both only are only about 50% as fast
|
|
as nuttcp in UDP mode. We are looking into this, but in the meantime,
|
|
if you want to get UDP above 5Gbps, we recommend using nuttcp instead
|
|
(http://www.nuttcp.net/)
|
|
|
|
* Interval reports on high-loss networks: The way iperf3 is currently
|
|
implemented, the sender write command will block until the entire
|
|
block has been written. This means that it might take several seconds
|
|
to send a full block if the network has high loss, and the interval
|
|
reports will have widely varying interval times. We are trying to
|
|
determine the best solution to this, but in the meantime, try using a
|
|
smaller block size if you get strange interval reports. For example,
|
|
try "-l 4K".
|
|
|
|
* -Z flag on OSX sometimes hangs
|
|
|
|
* On OpenBSD, the server seems to require a "-4" argument, implying
|
|
that it can only be used with IPv4.
|
|
|
|
|