- Notifications
You must be signed in to change notification settings - Fork0
iperf3: A TCP, UDP, and SCTP network bandwidth measurement tool
License
isilence/iperf
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
iperf is a tool for active measurements of the maximum achievablebandwidth on IP networks. It supports tuning of various parametersrelated to timing, protocols, and buffers. For each test it reportsthe measured throughput / bitrate, loss, and other parameters.
This version, sometimes referred to as iperf3, is a redesign of anoriginal version developed at NLANR/DAST. iperf3 is a newimplementation from scratch, with the goal of a smaller, simpler codebase, and a library version of the functionality that can be used inother programs. iperf3 also has a number of features found in other toolssuch as nuttcp and netperf, but were missing from the original iperf.These include, for example, a zero-copy mode and optional JSON output.Note that iperf3 isnot backwards compatible with the original iperf.
Primary development for iperf3 takes place on CentOS Linux, FreeBSD,and macOS. At this time, these are the only officially supportedplatforms, however there have been some reports of success withOpenBSD, NetBSD, Android, Solaris, and other Linux distributions.
iperf3 is principally developed by ESnet / Lawrence Berkeley NationalLaboratory. It is released under a three-clause BSD license.
For more information see:https://software.es.net/iperf
Source code and issue tracker:https://github.com/esnet/iperf
Discussion forums:https://github.com/esnet/iperf/discussions
Downloads of iperf3 are available at:
https://downloads.es.net/pub/iperf/
To check out the most recent code, clone the git repository at:
https://github.com/esnet/iperf.git
None.
./configure; make; make install
(Note: If configure fails, try running./bootstrap.sh
first)
iperf3 includes a manual page listing all of the command-line options.The manual page is the most up-to-date reference to the various flags and parameters.
For sample command line usage, see:
https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf/
Using the default options, iperf is meant to show typical welldesigned 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 haveflags for "extreme best case" optimizations, but they must beexplicitly activated.
These flags include:
-Z, --zerocopy use a 'zero copy' sendfile() method of sending data-A, --affinity n/n,m set CPU affinity
Before submitting a bug report, please make sure you're running thelatest version of the code, and confirm that your issue has notalready been fixed. Then submit to the iperf3 issue tracker onGitHub:
https://github.com/esnet/iperf/issues
In your issue submission, please indicate the version of iperf3 andwhat platform you're trying to run on (provide the platforminformation even if you're not using a supported platform, wemight be able to help anyway). Exact command-line arguments willhelp us recreate your problem. If you're getting error messages,please include them verbatim if possible, but remember to sanitize anysensitive information.
If you have a question about usage or about the code, please donotsubmit an issue. Please use one of the mailing lists for that.
Although iperf2 and iperf3 both measure network performance,they are not compatible with each other.The projects (as of mid-2021) are in active, but separate, development.The continuing iperf2 developmentproject can be found athttps://sourceforge.net/projects/iperf2/.
iperf3 contains a number of options and functions not present iniperf2. In addition, some flags are changed from their iperf2counterparts:
-C, --linux-congestion set congestion control algorithm (Linux only) (-Z in iperf2)--bidir bidirectional testing mode (-d in iperf2)
Some iperf2 options are not available in iperf3:
-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 removed is the ability to set the options via environmentvariables.
A set of known issues is maintained on the iperf3 Web pages:
https://software.es.net/iperf/dev.html#known-issues
This section lists links to user-contributed Web pages regardingiperf3. ESnet and Lawrence Berkeley National Laboratory bear noresponsibility for the content of these pages.
Installation instructions for Debian Linux (by Cameron Campcameron@ivdatacenter.com):
iperf, Copyright (c) 2014-2022, The Regents of the University ofCalifornia, through Lawrence Berkeley National Laboratory (subjectto receipt of any required approvals from the U.S. Dept. ofEnergy). All rights reserved.
If you have questions about your rights to use or distribute thissoftware, please contact Berkeley Lab's Technology TransferDepartment atTTD@lbl.gov.
NOTICE. This software is owned by the U.S. Department of Energy.As such, the U.S. Government has been granted for itself and othersacting on its behalf a paid-up, nonexclusive, irrevocable,worldwide license in the Software to reproduce, prepare derivativeworks, and perform publicly and display publicly. Beginning five(5) years after the date permission to assert copyright is obtainedfrom the U.S. Department of Energy, and subject to any subsequentfive (5) year renewals, the U.S. Government is granted for itselfand others acting on its behalf a paid-up, nonexclusive,irrevocable, worldwide license in the Software to reproduce,prepare derivative works, distribute copies to the public, performpublicly and display publicly, and to permit others to do so.
This code is distributed under a BSD style license, see the LICENSEfile for complete information.