
很多站长在购买 VPS(虚拟专用服务器)后都会遇到同一个疑问:商家标称的带宽(单位时间内可传输的数据量),到底有没有足额交付?用网页测速工具验证,结果往往受浏览器、跨网线路和单线程下载的限制,测出来的数字偏低,既说服不了自己,也没法向服务商举证。本篇教程将教你如何使用 iperf3 这款专业测压工具,从零开始完成部署、发起测试并正确解读结果,帮助你拿到一份可以用来判断服务器网络质量的真实数据。
为什么选择 iperf3 而不是网页测速
网页测速的本质是”下载一个文件,看耗时”,它混合了磁盘 I/O、TCP 单连接窗口限制和浏览器开销,误差来源太多。iperf3 则是专门为吞吐量测试设计的工具,它直接在两台机器之间建立可控的数据流,能分别测试上行、下行、多连接并发,甚至切换到 UDP(用户数据报协议)来验证丢包率。这两者的差异,就像用肉眼估测距离和用激光测距仪量距离的差别。
iperf3 的典型应用场景包括三类:
- 新购服务器验收:核对实测吞吐量与标称带宽是否一致,例如标称 1Gbps 的机器实测是否稳定在 940Mbps 左右
- 线路质量排查:通过重传数和丢包率判断跨境线路是否抖动,为更换线路或机房提供依据
- 调优前后对比:调整 TCP 缓冲区参数前后各测一次,用数据确认优化是否生效
如果你还想从整体上评估建站环境的响应速度,可以结合我们之前整理的 TTFB 优化思路 一起看,这篇文章讲解了主机层面影响加载速度的关键因素。
测试前的准备:一台对端机器
iperf3 采用客户端/服务端架构,一台机器当服务端守在 5201 端口,另一台当客户端发起数据流。很多人习惯拿服务器去连公共 speedtest 节点来测,其实更推荐的做法是:用你的 VPS 当服务端,再找一台你控制的另一台机器(家里的电脑、公司测试机或另一台云服务器)当客户端。这样测出来的才是两点之间的纯线路吞吐量,排除了第三方节点限速的干扰。
准备清单很简单:
- 待测服务器(服务端):Linux 系统即可,需要 root 或 sudo 权限安装软件包
- 对端机器(客户端):可以是另一台 Linux 服务器、云服务器(由云平台按需创建的虚拟机),Windows/macOS 也有官方版本
- 防火墙放行:服务端需要开放 TCP 和 UDP 的 5201 端口,否则客户端会卡在连接阶段
选对端机器时还有一条经验法则:对端机器自身的带宽不要低于待测服务器的标称带宽。拿一台只有 100Mbps 上行的家用宽带去测 1Gbps 的 VPS,结果永远卡在 94Mbps 左右,这组数据只能说明对端瓶颈,不能说明服务器问题。

服务端部署与启动
iperf3 在主流 Linux 发行版的官方仓库里都有,安装只需要一条命令。以常见的两类系统为例:
Ubuntu / Debian 系:
sudo apt update && sudo apt install -y iperf3
CentOS / Rocky / Alma 系:
sudo yum install -y epel-release && sudo yum install -y iperf3
安装完成后用 iperf3 --version 确认版本号,3.9 以上即可满足本文全部用法。接着在服务端启动监听:
iperf3 -s -p 5201
其中 -s 表示以服务端模式运行,-p 指定端口。终端会输出一行 Server listening on 5201,说明服务端已经就绪。如果你用的是云服务器,除了系统内防火墙(如 firewalld、ufw)之外,还要记得在云控制台的安全组里放行 5201 端口的 TCP 和 UDP 入站规则——这是新手最常踩的坑,表现为客户端一直报 unable to connect to server。想让服务端在后台长期运行,可以改用 iperf3 -s -D 以守护进程方式启动。
初次部署 VPS 时,除了带宽之外还有不少基础环境要配置。如果你需要一份完整的服务器环境参考,可以先浏览我们的 服务器运维专栏,里面按建站场景整理了系统配置、性能优化与安全基线方面的文章。
客户端发起测试:四个最常用的命令
客户端同样安装 iperf3,然后按测试目的选择参数。下面四个命令覆盖了 90% 的日常场景,假设服务端 IP 为 203.0.113.10。
单线程上行测试(默认模式,客户端向服务端发数据):
iperf3 -c 203.0.113.10 -t 10
-t 10 表示持续 10 秒。这条命令测出的是单条 TCP 连接的吞吐量,适合验证”单线程下载能跑多快”,比如从这台 VPS 拉取单个文件的速度。
反向测试(服务端向客户端发数据,即测服务器的下行/入口带宽):
iperf3 -c 203.0.113.10 -t 10 -R
多并发测试(8 条连接同时跑,验证总带宽上限):
iperf3 -c 203.0.113.10 -t 10 -P 8
UDP 丢包测试(按目标带宽 500Mbps 发包,看丢包和抖动):
iperf3 -c 203.0.113.10 -t 10 -u -b 500M
单线程结果明显低于多线程结果是很正常的现象,不一定代表带宽不足。单条 TCP 连接受拥塞窗口和延迟积(BDP,带宽与往返时延的乘积)限制,跨境高延迟线路上尤其明显。要判断”标称带宽是否足额”,应以多并发测试的总吞吐量为准;要判断”实际下载体验”,单线程结果才更有参考价值。这也是为什么很多商家标 1Gbps 而你单线程只测到一两百 Mbps——两个数字测的本来就不是同一件事。
读懂输出结果:比数字更重要的三个字段
一次典型的 TCP 测试结束后,客户端会输出分区间速率和一行汇总。真正值得长期关注的字段有三个:
- Sender/Receiver 吞吐量:TCP 有方向性,发送端和接收端速率可能不同,验收时应以两端中较低者对照标称带宽
- Retr(重传次数):TCP 重传是线路丢包的信号,10 秒测试中重传在几十次以内属正常,成百上千次说明链路拥堵或质量差
- UDP 模式下的 Lost/Total 与 latency:丢包率超过 1% 或抖动(jitter)明显增大,跨境链路通常已出现拥堵
解读结果时还要避免两个常见误区。第一个误区是只测一次就下结论。跨网线路在不同时段的拥堵程度差异很大,建议在业务高峰和凌晨各测一轮、每轮至少 3 次取中位数,这样的数据才有说服力。第二个误区是拿 Mbps 当 MB/s。带宽测试结果以 Mbit/s 为单位,除以 8 才是文件下载常见的 MB/s,例如 800Mbps 对应约 100MB/s 的理论下载速度,搞混单位很容易把正常速度误判为缩水。

总结与下一步建议
用 iperf3 验证带宽,核心流程可以归纳为三步:服务端一条 iperf3 -s 启动监听,客户端按目的选择单线程、反向或多并发命令,最后结合吞吐量、重传和丢包三个字段解读结果。测完之后建议把每个时间段的原始输出保存下来,形成一份简单的带宽台账,无论是向服务商举证还是对比调优效果,都比零散的截图更可靠。
如果你正在选购或评估建站主机,除了带宽指标,还可以把 CN2 直连线路、独立服务器 与 VPS 主机 的适用场景纳入考量。Hostease 提供多种带宽方案与线路选择,配合本文的测试方法,你可以在下单前后都拿真实数据说话。如果你需要更完整的建站环境规划,推荐继续阅读 WordPress 建站主机选择 的相关介绍,把网络、性能与易用性放在一起权衡。