From 849fc85a72eb452498907b19616bc1acfea92d78 Mon Sep 17 00:00:00 2001 From: Brian Tierney Date: Wed, 18 Dec 2013 15:23:16 -0800 Subject: [PATCH] updated for 3.0.0 release --- README | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/README b/README index 43470b4..132f072 100644 --- a/README +++ b/README @@ -21,19 +21,19 @@ Supported platforms: (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/ -== Bug Reports == += 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 +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 == += Changes from iperf 2.x = New options: -V, --verbose more detailed output than before @@ -44,17 +44,16 @@ New options: -F, --file name xmit/recv the specified file -A, --affinity n/n,m set CPU affinity -Depricated options: +Deprecated options: Plan to add for the next release: - -D, --daemon run the server as a daemon + -Z, --linux-congestion 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 -d, --dualtest Do a bidirectional test simultaneously -r, --tradeoff Do a bidirectional test individually -N, --nodelay set TCP no delay, disabling Nagle's Algorithm -T, --ttl time-to-live, for multicast (default 1) - -Z, --linux-congestion set TCP congestion control algorithm (Linux only) -x, --reportexclude [CDMSV] exclude C(connection) D(data) M(multicast) S(settings) V(server) reports -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. -'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. +'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". + +