GitHub - esnet/iperf: iperf3: A TCP, UDP, and SCTP network bandwidth measuremen...
source link: https://github.com/esnet/iperf
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
iperf3: A TCP, UDP, and SCTP network bandwidth measurement tool
Summary
iperf is a tool for active measurements of the maximum achievable bandwidth on IP networks. It supports tuning of various parameters related to timing, protocols, and buffers. For each test it reports the measured throughput / bitrate, loss, and other parameters.
This version, sometimes referred to as iperf3, is a redesign of an original version developed at NLANR/DAST. iperf3 is a new implementation from scratch, with the goal of a smaller, simpler code base, and a library version of the functionality that can be used in other programs. iperf3 also has a number of features found in other tools such 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 is not 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 supported platforms, however there have been some reports of success with OpenBSD, NetBSD, Android, Solaris, and other Linux distributions.
iperf3 is principally developed by ESnet / Lawrence Berkeley National Laboratory. 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
Obtaining iperf3
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
Building iperf3
Prerequisites:
None.
Building
./configure; make; make install
(Note: If configure fails, try running ./bootstrap.sh
first)
Invoking iperf3
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 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
Bug Reports
Before submitting a bug report, please make sure you're running the latest version of the code, and confirm that your issue has not already been fixed. Then submit to the iperf3 issue tracker on GitHub:
https://github.com/esnet/iperf/issues
In your issue submission, please indicate the version of iperf3 and what platform you're trying to run on (provide the platform information even if you're not using a supported platform, we might be able to help anyway). Exact command-line arguments will help us recreate your problem. If you're getting error messages, please include them verbatim if possible, but remember to sanitize any sensitive information.
If you have a question about usage or about the code, please do not submit an issue. Please use one of the mailing lists for that.
Changes from iperf 2.x
(Note that iperf2 is no longer being developed by its original maintainers. However, beginning in 2014, another developer began fixing bugs and enhancing functionality, and generating releases of iperf2. Both projects (as of late 2017) are currently being developed actively, but independently. The continuing iperf2 development project can be found at https://sourceforge.net/projects/iperf2/.)
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)
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.
Known Issues
A set of known issues is maintained on the iperf3 Web pages:
https://software.es.net/iperf/dev.html#known-issues
Links
This section lists links to user-contributed Web pages regarding iperf3. ESnet and Lawrence Berkeley National Laboratory bear no responsibility for the content of these pages.
-
Installation instructions for Debian Linux (by Cameron Camp [email protected]):
Copyright
iperf, Copyright (c) 2014-2018, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved.
If you have questions about your rights to use or distribute this software, please contact Berkeley Lab's Technology Transfer Department at [email protected].
NOTICE. This software is owned by the U.S. Department of Energy. As such, the U.S. Government has been granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software to reproduce, prepare derivative works, and perform publicly and display publicly. Beginning five (5) years after the date permission to assert copyright is obtained from the U.S. Department of Energy, and subject to any subsequent five (5) year renewals, the U.S. Government is granted for itself and 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, perform publicly and display publicly, and to permit others to do so.
This code is distributed under a BSD style license, see the LICENSE file for complete information.
Recommend
-
8
Network bandwidth stress testing with iperf May 15, 2020 If you need to stress test a network connection between 2 servers there’s no easier tool than iperf. Iperf...
-
3
Test Network Speed Between Azure VMs Using iPerf Tuesday, August 4, 2020 China Standard Time - 316 Reads ...
-
4
使用iperf3测试内网的速度 发表于 2021-03-15...
-
4
为了解决 LVS ksoftirqd CPU 使用率 100% 软中断导致网卡丢包的问题,我们使用 netperf 来测试网络性能,目的是尽可能复现问题,在研究的过程中顺便记录自己使用 netperf 的过程,除了 netperf 之外还可以使用 iperf 作为 TCP/UDP 压力测试工具。
-
3
如果你已经在使用iperf3了,进阶的详细信息请查看: 作者的翻译和针对每个参数的使用例子教程:iPerf3命令参数详解 一、什么是iperf3 iPerf3 是...
-
0
我的设备: 小米 10 ,支持 WIFI6 ,握手速率 1200M 台式机,微星 B550M 迫击炮 WIFI ,2.5G 网口六类网线(有线握手速率显示 1.0Gbps ),板载 AX200 ( WIFI 握手速率显示 1.2Gbps ),均为最新驱动 红米 AX6 ,海鲜市场上...
-
2
一、iperf3工作原理iperf3主要的功能是测试基于特定路径的带宽,在客户端和服务器端建立连接(三次握手)后,客户端发送一定大小的数据报并记下发送的时间,或者客户端在一定的时间内发送数据并记下发送的总数据。带宽的大小等于发送的总数据除以...
-
0
Designing a tabletop instrument that could someday revolutionize mass measurement by Jennifer Lauren Lee,...
-
3
Iperf3使用方法(Windows版) | VPS小白 VPS小白 >
-
2
Testing iperf through an SSH tunnel August 16, 2023 ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK