服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-08-25 更新于 2026-08-25 简米科技 3,465 字 8 分钟阅读

大带宽服务器用iperf3怎么做双向带宽测试?,iperf3双向测试步骤详解

导读大带宽服务器用iperf3做双向带宽测试,核心就是在服务端和客户端分别执行iperf3命令,先用默认参数测下行,再用-R参数测上行,配合并行流和TCP窗口参数把带宽压到极限,这套流程能帮你判断机房给的带宽是否达标,也能定位瓶颈在服务器、网络线路还是本地环境,大带宽服务器iperf3测试命令与双向测试原理为什么双……

大带宽服务器用iperf3做双向带宽测试,核心就是在服务端和客户端分别执行iperf3命令,先用默认参数测下行,再用-R参数测上行,配合并行流和TCP窗口参数把带宽压到极限。这套流程能帮你判断机房给的带宽是否达标,也能定位瓶颈在服务器、网络线路还是本地环境。

大带宽服务器iperf3测试命令与双向测试原理

为什么双向测试能反映真实带宽

很多朋友租了大带宽服务器,直接用Speedtest测速,发现速度不对劲,Speedtest走的是就近节点,测出来的是到你本地的链路质量,跟服务器本身的口子关系不大,iperf3不一样,它直接在服务器和你之间建立TCP流,测的是服务器网卡、内核协议栈、机房带宽这三者的综合表现。

双向测试的意义在于:服务器下行带宽和上行带宽往往不对等,国内不少大带宽服务器标称“20M独享”,指的是下行20M,上行可能只有5M,你不做反向测试,永远不知道上行被限了多少,行业共识认为,完整的大带宽服务器iperf3测试命令应当包含正向和反向两组数据,只测单向的结果只能算参考值。

iperf3在服务端和客户端的基本用法

iperf3的安装很简单,Debian/Ubuntu用apt,CentOS用yum,macOS用brew,Windows去官网下二进制包,服务端只需要一条命令:

iperf3 -s

默认监听5201端口,客户端测试下行带宽:

iperf3 -c 服务器IP -t 60

这条命令会向服务器发起60秒的TCP流,最后输出带宽、丢包、重传等数据,注意,iperf3默认是单线程测试,对大带宽服务器来说,单线程往往压不满,后面会讲怎么加并行流。

iperf3双向带宽测试的完整操作步骤

第一步:服务端启动监听

登录服务器,确认防火墙放行5201端口,如果是云服务器,还要检查安全组规则,启动服务端:

iperf3 -s -p 5201

-p参数指定端口,默认就是5201,写不写都行,建议用screen或tmux跑,避免SSH断开导致进程退出。服务端保持前台运行即可

大带宽服务器用iperf3怎么做双向带宽测试?,iperf3双向测试步骤详解

,它会持续监听,直到你手动Ctrl+C结束。

第二步:客户端发起下行测试

在你本地电脑或另一台服务器上执行:

iperf3 -c 服务器IP -t 30 -P 4

这里-t 30表示测试30秒,-P 4表示4个并行流,为什么要加-P?因为iperf3单线程默认用一条TCP连接,而TCP的拥塞控制机制会让单连接带宽受限。并行流是压满大带宽的关键,4条流不够就加到8条,甚至16条。

测试结束后,客户端会打印类似这样的结果:

[SUM]   0.00-30.00  sec  3.75 GBytes  1074 Mbits/sec  0.00 ms  0/1000 packets

SUM行的Mbits/sec就是聚合带宽,如果服务器标称1000Mbps,测出来接近1074Mbps(千兆口有约5%-6%的线速损耗),说明下行达标。

第三步:反向测试上行带宽

上行测试加一个-R参数即可:

iperf3 -c 服务器IP -t 30 -P 4 -R

-R会反转方向,让服务器主动向客户端发数据,这时候测出来的就是服务器的上行带宽,很多大带宽服务器下行能跑满,上行直接腰斩,这个数据能帮你判断机房是否限了上行

第四步:调整参数压满带宽

如果默认参数测不满,按顺序尝试以下调整:

  • 增加并行流数量:-P 8或-P 16,观察SUM值是否继续上升。
  • 调整TCP窗口:加-w 1M或-w 4M,窗口太小会限制吞吐量。
  • 延长测试时间:-t 60甚至-t 120,短时间测试可能没进入稳定状态。
  • 关闭本机防火墙/限速软件:本地如果有流量监控工具,可能会干扰测试结果。

调整到SUM值不再随参数增大而上升,说明已经压到物理极限。

服务器iperf3测带宽时常见问题与结果解读

带宽跑不满的排查方向

遇到测试结果远低于标称值,先别急着怪机房,业内专家指出,大多数情况下问题出在测试方法上,按这个顺序排查:

  • 本地网络瓶颈:你本地宽带如果是100M,测服务器1000M带宽肯定只能跑100M,这时候应该用另一台大带宽服务器做测试端,而不是用家用电脑。
  • 大带宽服务器用iperf3怎么做双向带宽测试?,iperf3双向测试步骤详解

  • 单线程限制:iperf3默认单线程,TCP单连接最多跑到几百兆,必须加-P并行流。
  • TCP窗口过小:高带宽高延迟链路需要大窗口,-w参数直接设4M试试。
  • 服务器CPU瓶颈:iperf3在高速测试时会占满单核CPU,如果CPU太弱,带宽会被CPU限制,用top命令观察iperf3进程的CPU占用。
  • 线路质量问题:跨运营商或跨国线路,丢包会导致TCP降速,看测试结果里的Retr(重传)字段,重传多说明线路不稳定。

如何判断测试结果是否有效

有效的大带宽服务器iperf3测试结果,应该满足几个条件:

  • SUM行带宽稳定,波动不超过10%。
  • Retr重传数占比极低,理想情况是0。
  • 测试时间不少于30秒,避免启动阶段的突发流量误导判断。
  • 多次测试取平均值,单次结果不具代表性。

iperf3的UDP测试也可以用来测带宽,加-u参数后,带宽值会显示为发送速率,但UDP测试更常用于测抖动和丢包,TCP测试才是带宽验收的主流方式。

大带宽服务器iperf3测试的进阶调优技巧

TCP拥塞控制算法的影响

多数Linux发行版默认使用cubic拥塞控制算法,在特定网络环境下,换成bbr会明显提升吞吐量,查看当前算法:

sysctl net.ipv4.tcp_congestion_control

临时启用bbr(需要内核支持):

sysctl -w net.ipv4.tcp_congestion_control=bbr

BBR对高延迟、有丢包的链路特别有效,如果你的测试链路跨地域或跨运营商,换BBR往往是压满带宽的捷径,注意,BBR是发送端算法,iperf3下行测试时服务器作为发送方,需要在服务器上启用BBR;上行测试时客户端作为发送方,需要在客户端启用BBR。

多线程与长连接的组合策略

对于大带宽服务器,建议用以下组合跑一次完整测试:

iperf3 -c 服务器IP -t 60 -P 8 -w 4M

然后反向:

iperf3 -c 服务器IP -t 60 -P 8 -w 4M -R

大带宽服务器用iperf3怎么做双向带宽测试?,iperf3双向测试步骤详解

如果两条命令的结果都接近标称带宽,说明服务器双向都合格,P从4加到8没有明显提升,说明瓶颈不在并发,而在单连接质量或CPU。

测试时机的选择

大带宽服务器的性能受机房出口占用率影响。尽量避开晚高峰(20:00-23:00)测试,这个时段国际线路和国内骨干网都比较拥堵,选择工作日上午或凌晨测试,数据更能反映服务器本身的带宽能力,租用国内大带宽服务器时,机房通常位于北京、上海、广州等核心节点,这些机房的出口带宽在高峰期也会有波动。

用iperf3做双向带宽测试,本质上就是一次服务器性能验收。下行用默认参数加-P并行流,上行加-R反向测试,配合-w调TCP窗口,必要时启用BBR,记录SUM值对比标称带宽,这套方法能帮你快速识别机房是否虚标带宽,也能定位本地网络、线路质量、服务器配置等环节的瓶颈。

大带宽服务器iperf3测试常见问题解答

iperf3双向带宽测试和单向测试有什么区别?

单向测试只测服务器下行或上行中的一个方向,双向测试则分别测两个方向,iperf3中,普通命令测下行,加-R测上行,加-d可以同时双向发送数据,对租用大带宽服务器的用户来说,双向测试能发现上行限速问题,这是单向测试看不到的。

大带宽服务器iperf3测试命令中-P参数设置多少合适?

-P参数控制并行流数量,建议从4开始,逐步增加到8、16,观察SUM值变化,当SUM值不再随-P增大而增长时,就是当前链路的最优并行数,绝大多数大带宽服务器在-P 8到-P 16之间能达到峰值,超过16条流通常没有额外收益,反而增加CPU负担。

用iperf3测大带宽服务器时,为什么单线程测速只有几百兆?

这是TCP协议的固有特性,单条TCP连接受拥塞控制窗口和RTT限制,理论吞吐量等于窗口大小除以延迟,比如RTT为50ms时,默认窗口64KB的理论上限只有约10Mbps,加-P并行流或-w增大窗口,才能突破单连接瓶颈,iperf3的官方文档也建议用多流测试高带宽链路。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱