← [ BACK_TO_NOTES ]

iperf3

ESnet 维护的主动网络吞吐测试工具,通过可控客户端与服务器端测量 TCP/UDP 带宽、丢包与相关参数。

#resource #growing #network #tool #cli #linux #macos #server

[!info] related notes

  • 相关主题:
  • 相关 MOC:
  • 相关 howto:

iperf3

这是什么

iperf3 是 ESnet / Lawrence Berkeley National Laboratory 维护的主动网络性能测试工具。与公共 Speedtest 不同,它通常要求你控制测试两端:一端运行服务器,一端运行客户端,然后直接测这两个端点之间的 TCP / UDP 传输能力。

一句话定位:如果你想知道“客户端、中转、落地 VPS 之间真正能跑多少吞吐”,iperf3 是最可靠的基础工具之一。

为什么它对代理节点特别重要

公共一键脚本往往连接随机或固定公共测试服务器,结果混入测试点负载、选路和共享出口因素。

而代理架构经常是:

本地 -> 机场入口 / 中转 -> 自建落地 -> Internet

这时最有价值的是把链路拆开测:

本地 -> 中转
中转 -> 落地
本地 -> 落地(直连基线)

如果可以在各端部署 iperf3,就能定位到底哪一段限制了吞吐。

基本使用

服务端

在目标服务器上:

iperf3 -s

默认监听 TCP 5201。

客户端

iperf3 -c <server-ip>

默认会从客户端向服务器发送 TCP 流量。

测反向方向

iperf3 -c <server-ip> -R

-R 让服务器向客户端发送数据,可以看到两个方向是否不对称。

增加并行流

iperf3 -c <server-ip> -P 4 -t 30

多并发流可以帮助判断:

  • 单 TCP 流受窗口 / RTT 影响;
  • 多流能否更接近链路总容量;
  • 限速是按连接还是按端口 / IP。

但不要为了“跑出更高数字”盲目堆几十条并发流;实际代理业务如果主要是少量连接,单流和低并发结果更有代表性。

UDP 测试

iperf3 -c <server-ip> -u -b 50M

UDP 模式适合观察:

  • 在指定发送速率下的丢包;
  • 抖动;
  • 实时业务可能承受的网络质量。

例如逐步尝试 20M、50M、100M,观察从哪个速率开始明显丢包,比单纯追求最大值更有意义。

如何评价结果

TCP 吞吐

关注:

  • 发送 / 接收 Mbps;
  • 是否稳定;
  • 单流与多流差距;
  • 正向与反向是否严重不对称;
  • 重传是否异常高。

如果套餐写 1 Gbps,但同区域可控测试端点之间稳定只有 30 Mbps,就应该继续排查限速、CPU、拥塞和虚拟机网络规格。

UDP 丢包与抖动

对游戏、语音、QUIC 等场景,稳定低丢包往往比峰值吞吐更重要。

同一条线路上:

  • 0~0.1% 稳定丢包通常非常好;
  • 持续出现可见丢包需要结合业务敏感程度判断;
  • 如果提高发送速率后丢包突然大量增加,说明开始超过当前链路可承载能力。

这些不是绝对 SLA 阈值,应结合测试时长、协议和真实业务。

用它定位代理链瓶颈

假设:

你 -> 机场中转 -> Oracle 落地

可以分别测试:

  1. 你 -> 中转;
  2. 中转 -> Oracle;
  3. 你 -> Oracle 直连;
  4. 最后再测试真实代理链的应用层下载。

例如:

你 -> 中转       500 Mbps
中转 -> Oracle    45 Mbps
你 -> Oracle      180 Mbps
最终代理链         42 Mbps

那么瓶颈几乎可以锁定在“中转 -> Oracle”这一段,而不是 Oracle CPU 或本地宽带。

与延迟工具的区别

iperf3 主要测数据传输能力,不是逐跳路由诊断。

因此:

  • 延迟 / 路由:NextTrace;
  • 长时间逐跳丢包:MTR;
  • 综合线路初筛:NetQuality;
  • 吞吐和 UDP 传输质量:iperf3。

一条线路可以 Ping 很低但吞吐很差,也可以吞吐很高但抖动严重,所以必须分开看。

CPU 可能成为瓶颈

如果 iperf3 跑到一定速率后 CPU 单核满载,结果可能不再代表物理链路上限。

测试高带宽 VPS 时,应同步看:

top
htop

尤其是在低性能 ARM / 老旧共享 CPU、很高 PPS 或启用额外加密隧道时。

公共 iperf3 服务器的局限

互联网上有公共 iperf3 服务,但它们可能:

  • 并发用户很多;
  • 有速率限制;
  • 位置 / ASN 不稳定;
  • 临时下线。

如果目的是严肃比较 VPS,优先使用自己控制的另一台服务器或可信测试机。

安全注意

  • 不要长期把 iperf3 -s 暴露在公网而毫无防火墙限制;
  • 测试会真实消耗带宽和流量额度;
  • 云厂商按流量计费时,大流量双向测试可能产生费用;
  • 不要在生产高峰做长时间满带宽压测。

可以用安全组 / 防火墙仅放行自己的测试源 IP,测试完成后关闭端口。

与 YABS 的关系

YABS 内部也会调用 iperf3 对若干公共测试节点测速,但那适合快速综合验货。

当你需要自己指定两个端点、拆分中转链路、做正反向和 UDP 测试时,应直接使用 iperf3。

官方入口

创建于 2026/9/7 更新于 2026/9/7
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本