测速工具-iperf3

iperf3

iperf3 是一款用于主动测量网络最大带宽性能的工具,支持 TCPUDPSCTP 协议。使用时需在两台设备上分别运行服务端 (-s)和客户端(-c)。

一、iperf3 安装

  • Linux (Debian/Ubuntu)

    bash 复制代码
    sudo apt update && sudo apt install iperf3
  • Linux (CentOS/RHEL)

    bash 复制代码
    sudo yum install iperf3
  • Windows/macOS

下面是 iperf3 全部常用参数 整理成的清晰表格,方便你直接复制存档。

二、iperf3 参数

2.1、服务端参数(Server)

参数 作用
-s 以服务端模式启动
-p 端口 指定监听端口(默认 5201)
-1 只接受一次连接,测试完自动退出
-D 后台守护进程运行
-u 启用 UDP 模式(服务端也要加)

2.2、客户端参数(Client)

参数 作用
-c IP 以客户端连接指定服务器
-p 端口 连接服务端指定端口
-t 秒 测试持续时间(默认 10 秒)
-n 字节 按传输数据量测试,而非时间
-k 包数 按发包数量测试
-P 数量 并行连接数(多线程跑满带宽)
-w 大小 设置 TCP 窗口大小(如 1M、512K)
-R 反向测试(服务端发、客户端收)
-b 带宽 UDP 目标带宽(如 100M、1G)
-u 使用 UDP 协议
-O 秒 忽略前 N 秒数据(用于预热)
-J 输出 JSON 格式结果

2.3、通用显示/格式参数

参数 作用
-i 秒 每隔 N 秒输出一次实时结果
-f 格式 显示单位格式:K/M/Gk/m/g
-V 详细版本信息
-h 帮助

2.4、高级网络参数

参数 作用
-M MTU 设置 MTU 大小(不含 IP/UDP 头)
-N 禁用 Nagle 算法(低延迟)
-4 强制 IPv4
-6 强制 IPv6
-T TTL 设置 TTL
-S TOS 设置服务类型(QoS)

2.5、文件/日志相关

参数 作用
--logfile 文件名 将输出写入日志文件
--forceflush 强制实时刷新输出

三、参考案例

3.1、TCP 带宽测试

3.1.1. 服务端(被测试机器)

bash 复制代码
iperf3 -s          # 启动服务端(默认监听 5201 端口)
iperf3 -s -p 5202  # 指定监听端口 5202

3.1.2. 客户端(测试发起机器)

bash 复制代码
iperf3 -c 192.168.1.100          # 连接服务端(默认10秒)
iperf3 -c 192.168.1.100 -p 5202  # 连接指定端口

典型输出

复制代码
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec   112 MBytes  94.0 Mbits/sec  # 带宽结果
  • -t N:测试 N 秒 (默认 10)

    bash 复制代码
    iperf3 -c 192.168.1.100 -t 60  # 测60秒
  • -P NN 条并行流 (多线程,跑满大带宽)

    bash 复制代码
    iperf3 -c 192.168.1.100 -P 4   # 4线程
  • -R反向测试 (服务端发 → 客户端收,测下载)

    bash 复制代码
    iperf3 -c 192.168.1.100 -R
  • -i 1每秒 输出一次进度

    bash 复制代码
    iperf3 -c 192.168.1.100 -i 1
  • -w 1M:设置 TCP 窗口大小

    bash 复制代码
    iperf3 -c 192.168.1.100 -w 1M

3.2、UDP 测试

UDP 用于测试实时性 (音视频、游戏),必须指定带宽 -b

  • 服务端:

    bash 复制代码
    iperf3 -s -u
  • 客户端:

    bash 复制代码
    iperf3 -c 192.168.1.100 -u -b 100M -t 30

四、结果分析

关键指标

  • Bitrate:实际带宽
  • Lost/Total丢包数/总数
  • Jitter抖动(延迟稳定性)
  • TCP :看 Bitrate(Mbps),接近网卡/带宽上限为正常
  • UDP :看 0丢包、低抖动 为优质

4.1、TCP 测试结果怎么看

TCP 看:带宽、稳定性、是否跑满

典型输出

复制代码
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   113 MBytes  94.6 Mbits/sec    0   sender
[  5]   0.00-10.00  sec   113 MBytes  94.6 Mbits/sec        receiver

关键字段解释

字段 含义 怎么判断好坏
Bitrate 实际带宽 越接近你的链路带宽越好 千兆网应接近 900Mbps+
Transfer 总传输量 参考用
Retr 重传次数 0 最好 公网偶尔几个正常 频繁重传 = 网络拥堵/丢包
sender / receiver 发送/接收速率 两者接近 = 网络稳定 差距大 = 链路瓶颈/单向问题

TCP 结果判断标准

  1. Bitrate 稳定,无大波动

    • 内网:应接近网卡速率(千兆≈900+Mbps)
    • 公网:接近你购买的带宽(如 100M 带宽 ≈ 90Mbps+)
  2. Retr(重传)=0 最优

    • 内网 > 0:交换机/网线/网卡问题
    • 公网 > 0:正常,但持续很高说明线路差
  3. sender 和 receiver 速率差距大

    • 单向瓶颈(某方向带宽小、QoS 限制)

4.2、UDP 测试结果怎么看

UDP 不保证可靠,主要看:丢包、抖动、延迟

用于:游戏、语音、视频、直播

典型输出

复制代码
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  59.6 MBytes  50.0 Mbits/sec  0.051 ms  0/42442 (0%)  sender
[  5]   0.00-10.00  sec  59.6 MBytes  50.0 Mbits/sec  0.051 ms  0/42442 (0%)  receiver

关键字段解释

字段 含义 怎么判断好坏
Bitrate 发送速率 由你 -b 50M 指定
Jitter 抖动(延迟波动) 越小越好 <1ms:内网优秀 1~20ms:公网正常 >50ms:音视频会卡顿
Lost/Total 丢包数/总包数 0% 最优 <1%:良好 1%~5%:语音卡顿 >5%:视频无法观看
Datagrams 数据包数量 参考

UDP 结果判断标准

  1. 丢包率 0% 最好

    • 内网丢包 = 网线/交换机/协商异常
    • 公网丢包 = 运营商拥堵/线路质量差
  2. 抖动 Jitter 越小越稳定

    • 游戏:< 20ms 舒服
    • 视频会议:< 30ms 可接受
    • > 50ms 明显卡顿
  3. 若指定 -b 100M 但实际只有 30M

    • 链路带宽不足 / 被限速 / MTU 问题

4.3、常见异常情况对照

现象 可能原因
TCP 速率只有 10Mbps 百兆网卡/网线坏/半双工/被限速
TCP 重传很多 网络丢包、信号差、拥堵
UDP 丢包严重 带宽不足、WiFi 差、运营商弱
Jitter 很大 网络跳变、多路由、WiFi 干扰
双向速率不一致 运营商上下行不对称、单向 QoS

五、防火墙注意

确保 5201 端口(或指定端口)放行(TCP/UDP)

相关推荐
feng_you_ying_li14 分钟前
linux之shell的进阶补充和基础IO流的介绍
linux·运维·服务器
志栋智能1 小时前
运维超自动化:构建弹性IT架构的关键支撑
运维·服务器·网络·人工智能·架构·自动化
草莓熊Lotso2 小时前
Vibe Coding 时代:LangChain 与 LangGraph 全链路解析
linux·运维·服务器·数据库·人工智能·mysql·langchain
^—app5668669 小时前
游戏运存小启动不起来临时解决方法
运维·服务器
Ujimatsu9 小时前
虚拟机安装Debian 13.x及其常用软件(2026.4)
linux·运维·ubuntu
志栋智能9 小时前
超自动化安全:构建智能安全运营的核心引擎
大数据·运维·服务器·数据库·安全·自动化·产品运营
Edward1111111111 小时前
4月28日防火墙问题
linux·运维·服务器
想学后端的前端工程师11 小时前
【补充内外网突然不通的情况】
运维·服务器
面汤放盐11 小时前
何时使用以及何时不应使用微服务:没有银弹
java·运维·云计算
子琦啊12 小时前
【算法复习】字符串 | 两个底层直觉,吃透高频题
linux·运维·算法