Annotation of embedaddon/iperf/README.md, revision 1.1

1.1     ! misho       1: iperf3:  A TCP, UDP, and SCTP network bandwidth measurement tool
        !             2: ================================================================
        !             3: 
        !             4: Summary
        !             5: -------
        !             6: 
        !             7: iperf is a tool for active measurements of the maximum achievable
        !             8: bandwidth on IP networks.  It supports tuning of various parameters
        !             9: related to timing, protocols, and buffers.  For each test it reports
        !            10: the bandwidth, loss, and other parameters.
        !            11: 
        !            12: This version, sometimes referred to as iperf3, is a redesign of an
        !            13: original version developed at NLANR/DAST.  iperf3 is a new
        !            14: implementation from scratch, with the goal of a smaller, simpler code
        !            15: base, and a library version of the functionality that can be used in
        !            16: other programs. iperf3 also a number of features found in other tools
        !            17: such as nuttcp and netperf, but were missing from the original iperf.
        !            18: These include, for example, a zero-copy mode and optional JSON output.
        !            19: Note that iperf3 is *not* backwards compatible with the original iperf.
        !            20: 
        !            21: Primary development for iperf3 takes place on CentOS Linux, FreeBSD,
        !            22: and MacOS X.  At this time, these are the only officially supported
        !            23: platforms, however there have been some reports of success with
        !            24: OpenBSD, NetBSD, Android, Solaris, and other Linux distributions.
        !            25: 
        !            26: iperf3 is principally developed by ESnet / Lawrence Berkeley National
        !            27: Laboratory.  It is released under a three-clause BSD license.
        !            28: 
        !            29: Note that at this point, ESnet plans to support iperf3 in "maintenance
        !            30: mode".  At this point, there are no definite plans for further iperf3
        !            31: releases, and ESnet will be providing a very limited amount of
        !            32: resources for support and development, going forward.  However, ESnet
        !            33: could issue new iperf3 releases to deal with security issues or
        !            34: high-impact bug fixes.
        !            35: 
        !            36: For more information see: http://software.es.net/iperf
        !            37: 
        !            38: Source code and issue tracker: https://github.com/esnet/iperf
        !            39: 
        !            40: Obtaining iperf3
        !            41: ----------------
        !            42: 
        !            43: Downloads of iperf3 are available at:
        !            44: 
        !            45:     http://downloads.es.net/pub/iperf/
        !            46: 
        !            47: To check out the most recent code, clone the git repository at:
        !            48: 
        !            49:     https://github.com/esnet/iperf.git
        !            50: 
        !            51: Building iperf3
        !            52: ---------------
        !            53: 
        !            54: ### Prerequisites: ###
        !            55: 
        !            56: None.
        !            57: 
        !            58: ### Building ###
        !            59: 
        !            60:     ./configure; make; make install
        !            61: 
        !            62: (Note: If configure fails, try running `./bootstrap.sh` first)
        !            63: 
        !            64: Invoking iperf3
        !            65: ---------------
        !            66: 
        !            67: iperf3 includes a manual page listing all of the command-line options.
        !            68: The manual page is the most up-to-date reference to the various flags and parameters.
        !            69: 
        !            70: For sample command line usage, see: 
        !            71: 
        !            72: http://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf-and-iperf3/
        !            73: 
        !            74: Using the default options, iperf is meant to show typical well
        !            75: designed application performance.  'Typical well designed application'
        !            76: means avoiding artificial enhancements that work only for testing
        !            77: (such as splice()'ing the data to /dev/null).  iperf does also have
        !            78: flags for 'extreme best case' optimizations but they must be
        !            79: explicitly activated.
        !            80: 
        !            81: These flags include:
        !            82: 
        !            83:     -Z, --zerocopy            use a 'zero copy' sendfile() method of sending data
        !            84:     -A, --affinity n/n,m      set CPU affinity
        !            85: 
        !            86: Bug Reports
        !            87: -----------
        !            88: 
        !            89: Before submitting a bug report, please make sure you're running the
        !            90: latest version of the code, and confirm that your issue has not
        !            91: already been fixed.  Then submit to the iperf3 issue tracker on
        !            92: GitHub:
        !            93: 
        !            94: https://github.com/esnet/iperf/issues
        !            95: 
        !            96: In your issue submission, please indicate the version of iperf3 and
        !            97: what platform you're trying to run on (provide the platform
        !            98: information even if you're not using a supported platform, we
        !            99: *might* be able to help anyway).  Exact command-line arguments will
        !           100: help us recreate your problem.  If you're getting error messages,
        !           101: please include them verbatim if possible, but remember to sanitize any
        !           102: sensitive information.
        !           103: 
        !           104: If you have a question about usage or about the code, please do *not*
        !           105: submit an issue.  Please use one of the mailing lists for that.
        !           106: 
        !           107: Changes from iperf 2.x
        !           108: ----------------------
        !           109: 
        !           110: New options:
        !           111: 
        !           112:     -V, --verbose             more detailed output than before
        !           113:     -J, --json                output in JSON format
        !           114:     -Z, --zerocopy            use a 'zero copy' sendfile() method of sending data
        !           115:     -O, --omit N              omit the first n seconds (to ignore slowstart)
        !           116:     -T, --title str           prefix every output line with this string
        !           117:     -F, --file name           xmit/recv the specified file
        !           118:     -A, --affinity n/n,m      set CPU affinity (Linux and FreeBSD only)
        !           119:     -k, --blockcount #[KMG]   number of blocks (packets) to transmit (instead 
        !           120:                               of -t or -n)
        !           121:     -L, --flowlabel           set IPv6 flow label (Linux only)
        !           122: 
        !           123: Changed flags:
        !           124: 
        !           125:     -C, --linux-congestion    set congestion control algorithm (Linux only)
        !           126:                               (-Z in iperf2)
        !           127: 
        !           128: 
        !           129: Deprecated options:
        !           130: 
        !           131: Not planning to support these iperf2 flags. If you really miss these
        !           132: options, please submit a request in the issue tracker:
        !           133: 
        !           134:     -d, --dualtest           Do a bidirectional test simultaneously
        !           135:     -r, --tradeoff           Do a bidirectional test individually
        !           136:     -T, --ttl                time-to-live, for multicast (default 1)
        !           137:     -x, --reportexclude [CDMSV]   exclude C(connection) D(data) M(multicast) 
        !           138:                                   S(settings) V(server) reports
        !           139:     -y, --reportstyle C      report as a Comma-Separated Values
        !           140: 
        !           141: Also deprecated is the ability to set the options via environment
        !           142: variables.
        !           143: 
        !           144: Known Issues
        !           145: ------------
        !           146: 
        !           147: * UDP performance: Some problems have been noticed with iperf3 on the
        !           148: ESnet 100G testbed at high UDP rates (above 10Gbps).  The symptom is
        !           149: that on any particular run of iperf3 the receiver reports a loss rate
        !           150: of about 20%, regardless of the -b option used on the client side.
        !           151: This problem appears not to be iperf3-specific, and may be due to the
        !           152: placement of the iperf3 process on a CPU and its relation to the
        !           153: inbound NIC.  In some cases this problem can be mitigated by an
        !           154: appropriate use of the CPU affinity (-A) option.  (Issue #55)
        !           155: 
        !           156: * The -Z flag sometimes causes the iperf3 client to hang on OSX.
        !           157: (Issue #129)
        !           158: 
        !           159: * When specifying the socket buffer size using the "-w" flag on Linux, Linux 
        !           160: doubles the value you pass in. (You can see this using iperf3's debug flag). 
        !           161: But then the CWND does not actually ramp up to the doubled value, but only
        !           162: to about 75% of the doubled value. This appears to be by design.
        !           163: 
        !           164: * Although the "-w" flag is documented as setting the (TCP) window
        !           165: size, it is also used to set the socket buffer size.  This has been
        !           166: shown to be helpful with high-bitrate UDP tests.
        !           167: 
        !           168: * On some platforms, it might be necessary to invoke "ldconfig" 
        !           169: manually after doing a "make install" before the iperf3 executable can 
        !           170: find its shared library.  (Issue #153)
        !           171: 
        !           172: * The results printed on the server side at the end of a test do not
        !           173: correctly reflect the client-side measurements.  This is due to the
        !           174: ordering of computing and transferring results between the client
        !           175: and server.  (Issue #293)
        !           176: 
        !           177: * The server could have a very short measurement reporting interval at
        !           178: the end of a test (particularly a UDP test), containing few or no
        !           179: packets.  This issue is due to an artifact of timing between the
        !           180: client and server.  (Issue #278)
        !           181: 
        !           182: Links
        !           183: -----
        !           184: 
        !           185: This section lists links to user-contributed Web pages regarding
        !           186: iperf3.  ESnet and Lawrence Berkeley National Laboratory bear no
        !           187: responsibility for the content of these pages.
        !           188: 
        !           189: * Installation instructions for Debian Linux (by Cameron Camp
        !           190:   <cameron@ivdatacenter.com>):
        !           191: 
        !           192:   http://cheatsheet.logicalwebhost.com/iperf-network-testing/
        !           193: 
        !           194: Copyright
        !           195: ---------
        !           196: 
        !           197: iperf, Copyright (c) 2014-2016, The Regents of the University of
        !           198: California, through Lawrence Berkeley National Laboratory (subject
        !           199: to receipt of any required approvals from the U.S. Dept. of
        !           200: Energy).  All rights reserved.
        !           201: 
        !           202: If you have questions about your rights to use or distribute this
        !           203: software, please contact Berkeley Lab's Technology Transfer
        !           204: Department at TTD@lbl.gov.
        !           205: 
        !           206: NOTICE.  This software is owned by the U.S. Department of Energy.
        !           207: As such, the U.S. Government has been granted for itself and others
        !           208: acting on its behalf a paid-up, nonexclusive, irrevocable,
        !           209: worldwide license in the Software to reproduce, prepare derivative
        !           210: works, and perform publicly and display publicly.  Beginning five
        !           211: (5) years after the date permission to assert copyright is obtained
        !           212: from the U.S. Department of Energy, and subject to any subsequent
        !           213: five (5) year renewals, the U.S. Government is granted for itself
        !           214: and others acting on its behalf a paid-up, nonexclusive,
        !           215: irrevocable, worldwide license in the Software to reproduce,
        !           216: prepare derivative works, distribute copies to the public, perform
        !           217: publicly and display publicly, and to permit others to do so.
        !           218: 
        !           219: This code is distributed under a BSD style license, see the LICENSE
        !           220: file for complete information.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>