iperf3 使用教程

使用iperf3进行网络性能测试的完整指南

前言

本篇文章为纯AI 0人工 注水率高达99% 请慎重观看(为什么是ai呢 当然是因为我懒了就当是水文了 os:主要一个测速的真没啥能写的了)

1. 简介

iperf3 是一款专业网络性能测试工具,用于测试 TCP / UDP 带宽、延迟、抖动、丢包率,支持 Linux / Windows / macOS / 嵌入式设备,分为服务端(server)客户端(client) 两端联动测试。

核心能力

  1. TCP:最大带宽、RTT 往返时延、窗口大小
  2. UDP:带宽、抖动、丢包率
  3. 支持多并发流、自定义时长、指定端口、绑定网卡、反向测试

2. 安装 iperf3

2.1 Linux(CentOS / RHEL)

1
yum install iperf3 -y

2.2 Linux(Ubuntu / Debian)

1
apt update && apt install iperf3 -y

2.3 Windows

  1. 打开仓库 Releases:https://github.com/ar51an/iperf3-win-builds/releases
  2. 根据系统下载对应 zip 压缩包。
安装包文件名 适用场景
iperf-x.x.x-win64.zip Win10/11 64 位通用标准版,无加密功能,日常测速首选
iperf-x.x.x-win7-64Bit.zip Win7/Win8 64 位老旧系统专用,兼容旧系统 API
iperf-x.x.x-win64-static-auth.zip Win10/11 64 位,静态内置 OpenSSL,支持加密身份认证,无外部依赖
iperf-x.x.x-win64-dynamic-auth.zip Win10/11 64 位,动态链接 OpenSSL,带加密认证,体积略大

2.4 macOS

1
brew install iperf3

3. 基础运行逻辑

测试必须两端同时运行:

  1. 服务端:监听端口,等待客户端连接
    1
    
    iperf3 -s
    
  2. 客户端:主动连接服务端 IP,发起流量测试
    1
    
    iperf3 -c 服务端IP
    

默认端口:5201,默认测试时长:10 秒

4. 常用参数大全

服务端参数(-s 模式)

参数 说明
-s 以服务端模式启动
-p 端口 指定监听端口(默认5201)
-B 网卡IP 绑定指定网卡监听
-D 后台守护进程运行
-1 单次测试后自动退出
-o log.txt 输出结果保存到日志文件

客户端参数(-c 模式)

参数 说明
-c IP 指定服务端地址,客户端模式
-p 端口 连接服务端自定义端口
-t 秒 测试时长,默认10s
-P N 多并发流(多线程)测试,如 -P 4 4条流
-R 反向测试:服务端发流量,客户端收
-u 使用 UDP 模式(默认TCP)
-b 带宽 UDP 发包带宽限制,例 -b 100M-b 1G
-B 本机IP 客户端绑定本机指定出口网卡
-M MTU 设置TCP MSS分片大小
-w 窗口 设置TCP滑动窗口大小
-V 输出详细调试信息

5. 测试示例

示例1:基础TCP带宽测试

服务端:

1
iperf3 -s

客户端:

1
iperf3 -c <服务端ip>

示例2:自定义端口 + 30秒测试

例如:服务端(端口6000):

1
iperf3 -s -p 6000

客户端:

1
iperf3 -c <服务端ip> -p 6000 -t 30

示例3:4并发多流TCP测试

1
iperf3 -c <服务端ip> -P 4

示例4:UDP 丢包/抖动测试(限制200Mbps带宽)

1
iperf3 -c <服务端ip> -u -b 200M -t 20

示例5:反向流量测试(服务端下行带宽)

1
iperf3 -c <服务端ip> -R

示例6:绑定指定网卡测试(多网卡服务器)

客户端仅走 10.0.0.5 网卡出口:

1
iperf3 -c 10.0.0.10 -B 10.0.0.5

示例7:后台运行服务端并保存日志

1
iperf3 -s -D -p 5202 -o iperf_server.log

6. 输出结果解读

TCP 输出样例

1
[  5]   0.00-10.00  sec  953 MBytes   799 Mbits/sec  0.000 ms  126711/122203 (104%)
  • 799 Mbits/sec:实测带宽
  • 无丢包,TCP不统计丢包

UDP 输出样例

1
[  5]   0.00-10.00  sec  95.4 MBytes  79.9 Mbits/sec  0.132 ms  121664/125013 (97%)
  • 0.132 ms:平均抖动 jitter
  • 121664/125013 (97%):接收包/发送包,丢包率3%

7. 常见问题排错

  1. 连接失败 Connection refused
    • 检查服务端是否启动、端口是否一致
    • 防火墙放行对应端口:firewall-cmd --add-port=5201/tcp --permanent
  2. 带宽跑不满
    • 使用 -P 多线程 并发测试
    • 检查网卡协商速率(千兆/万兆)、交换机限速
  3. UDP丢包严重
    • 降低 -b 发包带宽
    • 检查交换机队列、网卡缓冲区
  4. Windows 运行提示权限不足
    • 右键以管理员身份打开 CMD/PowerShell

9. 补充说明

  1. iperf3 不兼容旧版 iperf(iperf2),两端必须同为 iperf3
  2. 云服务器测试时,注意安全组放行测试端口
  3. 测试万兆网卡建议使用多流 -P 消除单线程CPU瓶颈

本篇文章感谢豆包、Deepseek、kimi、mimo等ai的大力参与

最后更新于 2026-08-01 22:36