Repolode
esnet

esnet/iperf

iperf3 是一款命令行工具,用于测量 IP 网络over TCP、UDP 和 SCTP 的最大可达带宽。

Star
8,865
Fork
1,469
未关闭 Issue
245
最近提交
10天前

这是什么?

iperf3 通过在两台主机之间主动发送流量,测量 IP 网络中的最大可达带宽。一台机器运行服务端,另一台运行客户端,每次测试会输出吞吐量或比特率、丢包率等指标。发送时长、协议和缓冲区等参数都可以在命令行中调整。

iperf3 是对原版 iperf 的重新实现,代码更小、更简洁,并提供可供其他程序调用的库版本。它新增了零拷贝模式、可选的 JSON 输出等功能。iperf3 与原版 iperf 不兼容,而 iperf2 仍由独立项目继续开发。

该项目主要由 ESnet 与劳伦斯伯克利国家实验室开发,也是 perfSONAR 网络测量系统的组成部分。主要支持 Ubuntu Linux、FreeBSD 和 macOS,使用标准的 configure 与 make 流程即可编译安装。

核心功能

  • 01测量两台主机之间 TCP、UDP 和 SCTP 的吞吐量。
  • 02输出比特率、丢包率等每次测试的统计数据。
  • 03支持调整测试时长、协议和缓冲区等参数。
  • 04提供可选的 JSON 输出,便于脚本解析。
  • 05提供零拷贝 sendfile 模式和 CPU 亲和性设置,用于高级测试。
  • 06提供库版本,可嵌入其他程序中调用。

适用场景

  • 检测两台服务器之间链路或路径的可用带宽。
  • 排查网络吞吐量问题,并对比不同配置下的测试结果。
  • 作为 perfSONAR 网络测量部署的一部分执行性能测试。
  • 借助 JSON 输出在脚本中自动化带宽测试。

快速上手

  1. 1

    克隆源代码仓库

    git clone https://github.com/esnet/iperf.git
  2. 2

    从源代码构建并安装

    ./configure; make; make install

使用前须知

  • 仅正式支持 Ubuntu Linux、FreeBSD 和 macOS,其他平台不做保证。
  • 元数据中的许可证未明确(NOASSERTION),但 README 描述为 BSD 风格许可证,并包含美国政府相关声明。

标签

#network#bandwidth#benchmark#tcp#udp#sctp#networking-tools#performance-testing#iperf3

常见问题

iperf 是什么?
iperf3 是一款命令行工具,用于测量 IP 网络over TCP、UDP 和 SCTP 的最大可达带宽。 iperf3 通过在两台主机之间主动发送流量,测量 IP 网络中的最大可达带宽。一台机器运行服务端,另一台运行客户端,每次测试会输出吞吐量或比特率、丢包率等指标。发送时长、协议和缓冲区等参数都可以在命令行中调整。
iperf 可以免费使用吗?用的什么许可证?
iperf 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
iperf 还在维护吗?
活跃维护中。iperf 最近一次提交是在 2026年10月27日。
iperf 适合用来做什么?
检测两台服务器之间链路或路径的可用带宽。 排查网络吞吐量问题,并对比不同配置下的测试结果。 作为 perfSONAR 网络测量部署的一部分执行性能测试。 借助 JSON 输出在脚本中自动化带宽测试。
iperf 怎么安装和运行?
克隆源代码仓库: git clone https://github.com/esnet/iperf.git 从源代码构建并安装: ./configure; make; make install
在哪里获取 iperf?
源代码和安装说明在 GitHub 上:https://github.com/esnet/iperf

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目

基于 Go 的命令行网络扫描器,支持 ARP、ICMP、TCP、UDP 和 SOCKS5 扫描,可输出 JSON 便于自动化处理。

安全#network-scanner#arp#tcp
1565+2 本周105GoMIT更新于 3个月前