前言
本篇文章为纯AI 0人工 注水率高达99% 请慎重观看(为什么是ai呢 当然是因为我懒了就当是水文了 os:主要一个测速的真没啥能写的了)
1. 简介
iperf3 是一款专业网络性能测试工具,用于测试 TCP / UDP 带宽、延迟、抖动、丢包率,支持 Linux / Windows / macOS / 嵌入式设备,分为服务端(server) 和客户端(client) 两端联动测试。
核心能力
- TCP:最大带宽、RTT 往返时延、窗口大小
- UDP:带宽、抖动、丢包率
- 支持多并发流、自定义时长、指定端口、绑定网卡、反向测试
2. 安装 iperf3
2.1 Linux(CentOS / RHEL)
2.2 Linux(Ubuntu / Debian)
1
|
apt update && apt install iperf3 -y
|
2.3 Windows
- 打开仓库 Releases:https://github.com/ar51an/iperf3-win-builds/releases
- 根据系统下载对应 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
3. 基础运行逻辑
测试必须两端同时运行:
- 服务端:监听端口,等待客户端连接
- 客户端:主动连接服务端 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带宽测试
服务端:
客户端:
示例2:自定义端口 + 30秒测试
例如:服务端(端口6000):
客户端:
1
|
iperf3 -c <服务端ip> -p 6000 -t 30
|
示例3:4并发多流TCP测试
示例4:UDP 丢包/抖动测试(限制200Mbps带宽)
1
|
iperf3 -c <服务端ip> -u -b 200M -t 20
|
示例5:反向流量测试(服务端下行带宽)
示例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. 常见问题排错
- 连接失败 Connection refused
- 检查服务端是否启动、端口是否一致
- 防火墙放行对应端口:
firewall-cmd --add-port=5201/tcp --permanent
- 带宽跑不满
- 使用
-P 多线程 并发测试
- 检查网卡协商速率(千兆/万兆)、交换机限速
- UDP丢包严重
- Windows 运行提示权限不足
- 右键以管理员身份打开 CMD/PowerShell
9. 补充说明
- iperf3 不兼容旧版 iperf(iperf2),两端必须同为 iperf3
- 云服务器测试时,注意安全组放行测试端口
- 测试万兆网卡建议使用多流
-P 消除单线程CPU瓶颈
本篇文章感谢豆包、Deepseek、kimi、mimo等ai的大力参与