esnet/iperf
GitHub: esnet/iperf
一款轻量的网络带宽测量工具,通过客户端-服务端模式测试 TCP、UDP 和 SCTP 吞吐量,帮助用户评估和诊断网络性能。
Stars: 8479 | Forks: 1415
# iperf3:一个 TCP、UDP 和 SCTP 网络带宽测量工具
## 概述
iperf 是一个用于主动测量 IP 网络上最大可实现带宽的工具。它支持调整与时间、协议和缓冲区相关的各种参数。对于每次测试,它都会报告测得的吞吐量/比特率、丢包以及其他参数。
这个版本,有时被称为 iperf3,是对最初由 NLANR/DAST 开发的版本的重新设计。iperf3 是从头开始的新实现,目标是拥有一个更小、更简单的代码库,以及一个可在其他程序中使用的功能库版本。iperf3 还包含许多在其他工具(如 nuttcp 和 netperf)中存在但在原始 iperf 中缺失的功能。例如,这包括零拷贝模式和可选的 JSON 输出。
请注意,iperf3 与原始 iperf *不*向后兼容。
iperf3 的主要用途之一是作为 perfSONAR 网络测量系统的组件。它作为独立工具也非常有用,并被 ESnet 及其他研究与教育网络使用。人们还发现在一般的网络社区中它也很有用,甚至已经被集成到各种商业产品中。
iperf3 的主要开发工作在 Ubuntu Linux、FreeBSD 和 macOS 上进行。目前,这些是唯一官方支持的平台,不过也有一些关于在 OpenBSD、NetBSD、Android、Solaris 和其他 Linux 发行版上成功运行的报告。
iperf3 主要由 ESnet / 劳伦斯伯克利国家实验室开发。它在三条款 BSD 许可证下发布。
欲了解更多信息,请参见:https://software.es.net/iperf
源代码和问题追踪器:https://github.com/esnet/iperf
讨论论坛:https://github.com/esnet/iperf/discussions
报告安全漏洞:iperf@es.net
常见问题解答:https://software.es.net/iperf/faq.html
## 获取 iperf3
iperf3 的下载地址位于:
```
https://downloads.es.net/pub/iperf/
```
要检出最新的代码,请克隆 git 仓库:
```
https://github.com/esnet/iperf.git
```
## 构建 iperf3
### 前置条件:
无。
### 构建
```
./configure; make; make install
```
(注意:如果 configure 失败,请尝试先运行 `./bootstrap.sh`)
## 调用 iperf3
iperf3 包含一个列出所有命令行选项的手册页。该手册页是有关各种标志和参数的最新参考。
有关命令行使用的示例,请参见:
https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf/
使用默认选项时,iperf 旨在展示典型的、设计良好的应用程序性能。“典型的、设计良好的应用程序”意味着避免了仅对测试有效的人为增强(例如将数据 splice() 到 /dev/null)。iperf 确实也提供了用于“极限最佳情况”优化的标志,但必须明确激活它们。
这些标志包括:
```
-Z, --zerocopy use a 'zero copy' sendfile() method of sending data
-A, --affinity n/n,m set CPU affinity
```
## Bug 和安全报告
在提交 Bug 报告之前,请确保您运行的是最新版本的代码,并确认您的问题尚未被修复。然后提交到 GitHub 上的 iperf3 问题追踪器:
https://github.com/esnet/iperf/issues
在您提交的问题中,请注明 iperf3 的版本以及您尝试运行的平台(即使您使用的不是受支持的平台,也请提供该平台信息,我们*可能*仍然能够提供帮助)。准确的命令行参数将有助于我们重现您的问题。如果您收到了错误消息,请尽可能逐字包含它们,但请记得清除任何敏感信息。
如果您有关于使用方法或代码的问题,请*不要*提交问题。请使用邮件列表进行提问。
如果您怀疑存在潜在的安全问题,请通过以下方式联系开发人员:
iperf@es.net
## 与 iperf 2.x 的关系
尽管 iperf2 和 iperf3 都测量网络性能,但它们彼此不兼容。
这些项目(截至 2026 年初)处于活跃但独立的开发中。
持续更新的 iperf2 开发项目可以在 https://sourceforge.net/projects/iperf2/ 找到。
## 已知问题
在 iperf3 的网页上维护了一系列已知问题:
https://software.es.net/iperf/dev.html#known-issues
## 链接
本节列出了有关 iperf3 的用户贡献网页的链接。ESnet 和劳伦斯伯克利国家实验室不对这些页面的内容承担责任。
* Debian Linux 安装说明(由 Cameron Camp 提供):
http://cheatsheet.logicalwebhost.com/iperf-network-testing/
## 版权
iperf,版权所有 (c) 2014-2026,加州大学董事会,通过劳伦斯伯克利国家实验室(在收到美国能源部要求的任何批准的前提下)。保留所有权利。
如果您对使用或分发本软件的权利有疑问,请通过 TTD@lbl.gov 联系伯克利实验室的技术转移部门。
注意。本软件归美国能源部所有。因此,美国政府已为其自身及代表其行事的他人授予了在软件中进行复制、准备衍生作品、公开表演和公开展示的已付清、非排他性、不可撤销的全球许可。在获得美国能源部主张版权的许可之日起五(5)年后,并在随后的任何五(5)年续期的前提下,美国政府为其自身及代表其行事的他人授予在软件中进行复制、准备衍生作品、向公众分发副本、公开表演和公开展示,以及允许他人这样做的已付清、非排他性、不可撤销的全球许可。
本代码在 BSD 风格的许可证下分发,有关完整信息请参见 LICENSE 文件。
标签:API安全, Bing搜索, C++, DEF CON 演示, ESnet, Homebrew安装, iperf, iperf3, JSON输出, Linux网络工具, perfSONAR, SCTP协议, TCP测试, UDP测试, 二进制发布, 吞吐量测试, 客户端加密, 带宽测量, 开源工具, 情报分析, 数据擦除, 流量生成器, 网络延迟与丢包, 网络性能监控, 网络测试工具, 网络诊断, 运维工具