updated for 3.0.0 release

This commit is contained in:
Brian Tierney 2013-12-18 15:23:16 -08:00
parent 05dfd3b32f
commit 849fc85a72

35
README
View File

@ -21,19 +21,19 @@ Supported platforms:
(Note: If configure fails, try running ./bootstrap.sh first) (Note: If configure fails, try running ./bootstrap.sh first)
== Latest version == = Latest version =
To check out the most recent code, do: hg clone http://code.google.com/p/iperf/ To check out the most recent code, do: hg clone http://code.google.com/p/iperf/
== Bug Reports == = Bug Reports =
Before submitting a bug report, try checking out the latest version of the code, and confirm that its not Before submitting a bug report, try checking out the latest version of the code, and confirm
already fixed. Then submit to: https://code.google.com/p/iperf/issues/list 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/ For more information see: http://code.google.com/p/iperf/
== Changes from iperf 2.x == = Changes from iperf 2.x =
New options: New options:
-V, --verbose more detailed output than before -V, --verbose more detailed output than before
@ -44,17 +44,16 @@ New options:
-F, --file name xmit/recv the specified file -F, --file name xmit/recv the specified file
-A, --affinity n/n,m set CPU affinity -A, --affinity n/n,m set CPU affinity
Depricated options: Deprecated options:
Plan to add for the next release: Plan to add for the next release:
-D, --daemon run the server as a daemon -Z, --linux-congestion <algo> set TCP congestion control algorithm (Linux only)
Not planning to support. If you really miss these options, please submit a request in the issue tracker Not planning to support. If you really miss these options, please submit a request in the issue tracker
-d, --dualtest Do a bidirectional test simultaneously -d, --dualtest Do a bidirectional test simultaneously
-r, --tradeoff Do a bidirectional test individually -r, --tradeoff Do a bidirectional test individually
-N, --nodelay set TCP no delay, disabling Nagle's Algorithm -N, --nodelay set TCP no delay, disabling Nagle's Algorithm
-T, --ttl time-to-live, for multicast (default 1) -T, --ttl time-to-live, for multicast (default 1)
-Z, --linux-congestion <algo> set TCP congestion control algorithm (Linux only)
-x, --reportexclude [CDMSV] exclude C(connection) D(data) M(multicast) S(settings) V(server) reports -x, --reportexclude [CDMSV] exclude C(connection) D(data) M(multicast) S(settings) V(server) reports
-y, --reportstyle C report as a Comma-Separated Values -y, --reportstyle C report as a Comma-Separated Values
@ -65,13 +64,27 @@ For sample command line usage, see:
Using the default options, iperf is meant to show typical well designed application performance. 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 'Typical well designed application' means avoiding artificial enhancements that work only for
(such as splice()'ing the data to /dev/null). iperf does also have flags for 'extreme best case' testing (such as splice()'ing the data to /dev/null). iperf does also have flags for 'extreme
optimizations but they must be explicitly activated. best case' optimizations but they must be explicitly activated.
These flags include: These flags include:
-Z, --zerocopy use a 'zero copy' sendfile() method of sending data -Z, --zerocopy use a 'zero copy' sendfile() method of sending data
-A, --affinity n/n,m set CPU affinity -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".