测速工具-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)

相关推荐
人工小情绪2 小时前
Linux下离线安装timm
linux·运维·服务器
爱学习的小囧2 小时前
vSphere 9.0 API 实操教程 —— 轻松检索 vGPU 与 DirectPath 配置文件
linux·运维·服务器·网络·数据库·esxi·vmware
麦聪聊数据2 小时前
数据库安全与运维管控(一):MySQL、PG与Oracle原生审计机制对比
运维·数据库·mysql·oracle
小猪咪piggy2 小时前
【接口自动化】(3) YAML 和 JSON Schema
运维·自动化
AI_零食2 小时前
Flutter 框架跨平台鸿蒙开发 - 社交断舍离应用
运维·服务器·学习·flutter·游戏·开源·harmonyos
gwjcloud2 小时前
Ansible自动化运维工具
运维·自动化·ansible
D4c-lovetrain2 小时前
linux实战之多配置部署(ansible、nginx、keepalived、dhcp、dns多元化操作)
linux·运维·服务器
147API2 小时前
Claude 4.6 API 接入全流程避坑:OpenAI 迁移、长上下文超时、429 限流一次讲清
运维·服务器·网络·claude·api大模型
CDN3602 小时前
高防服务器无法远程连接?端口、防火墙与安全组排查
运维·服务器·安全