测速工具-iperf3

iperf3

iperf3 是一款用于主动测量网络最大带宽性能的工具,支持 TCP 、UDP 和 SCTP 协议。使用时需在两台设备上分别运行服务端 (-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/G 或 k/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 N:N 条并行流 (多线程,跑满大带宽)

    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)

相关推荐
Initialize-le2 小时前
Nginx 504 超时、499 一堆?网关排查法
运维·nginx
Android系统攻城狮4 小时前
Linux Gstreamer深度解析之gst_audio_ring_buffer_delay调用流程与实战(七十二)
linux·运维·服务器·gstreamer音视频·音视频进阶
快乐的韭菜根根5 小时前
ubuntu 安装slurm并配置
linux·运维·ubuntu
U-Mail邮件系统6 小时前
自建邮箱服务器有哪些软件?三款主流邮件服务器软件推荐
运维·服务器
天远数科7 小时前
零信任架构实战:基于天远贷前风险报告构建自动化消金信贷风控与多头共债排查网关
运维·人工智能·架构·自动化
别动我齐刘海8 小时前
Linux 系统调试学习2
linux·运维·c++·人工智能·学习·机器学习·机器人
honsor9 小时前
机房IP化改造首选:以太网温湿度传感器,PoE供电+Modbus TCP一网搞定
linux·运维·服务器
星创易联9 小时前
PLC数据采集与远程运维平台:从边缘计算到集中监控
大数据·运维·边缘计算
寻道模式10 小时前
【运维心得】完整教程:绕过Win11限制让老机焕发新生
运维·操作系统·win11
zzu123zsw10 小时前
从 proxy_pass 末尾斜杠到 WebAssembly 预压缩:深挖 Nginx 生产环境四大高频踩坑点
运维·nginx·wasm·webassembly·devops·运维排错