3. iPerf3 基础用法:安装与配置、TCP 带宽测试命令、UDP 带宽测试命令、常用参数详解
好,咱们进入正题。iPerf3 这东西,说白了就是网络界的「卷尺」。你想知道你家带宽到底够不够?网线是不是被狗啃了?服务器吞吐量有没有虚标?拿它一测便知。我这些年排查网络故障,十次里有八次第一件事就是掏出 iPerf3。
3.1 安装与配置:别让工具卡在第一步
安装其实没啥技术含量,但很多人会栽在版本问题上。我遇到过最坑的一次,是客户两边服务器装了不同大版本的 iPerf,结果死活连不上,折腾了两小时才发现是版本不兼容。
Linux 下安装:
# CentOS / RHEL
yum install iperf3 -y
# Ubuntu / Debian
apt-get install iperf3 -y
Windows 下安装:
去官网下载 exe 文件,扔到 C:\Windows\System32 目录下。嗯,就这么简单。我个人习惯在桌面再放一份,方便直接拖进命令行。
3.2 TCP 带宽测试命令:最常用的场景
TCP 测试是咱们最常用的。为啥?因为大部分业务跑的都是 TCP,测这个最贴近真实情况。
服务端启动:
iperf3 -s
就这么一行。默认监听 5201 端口。你想想看,如果端口被占用了怎么办?加个 -p 参数指定别的端口就行。
客户端测试:
iperf3 -c 192.168.1.100
默认测 10 秒,结果会显示带宽、丢包、重传等信息。我一般先跑个默认的看看大概,再调参数做精细测试。
-R 参数),让客户端变成接收端。我遇到过网卡发送正常但接收掉速的情况,就是靠这个发现的。
3.3 UDP 带宽测试命令:别被「无连接」骗了
UDP 测试很多人用得少,但其实特别重要——尤其是排查视频流、VoIP 这类实时业务的时候。
# 服务端(和 TCP 一样)
iperf3 -s
# 客户端(必须指定带宽,否则默认 1Mbps)
iperf3 -c 192.168.1.100 -u -b 100m
这里有个坑:UDP 测试如果不加 -b,默认只发 1Mbps,你测出来带宽永远是 1M,还以为网络炸了呢。我刚开始用的时候就犯过这错,盯着结果看了半天,心想「这不对啊」。
UDP 测试结果里有个关键指标叫 Jitter(抖动)。这个值如果超过 20ms,视频通话基本就卡成 PPT 了。
3.4 常用参数详解:这些才是精髓
参数这东西,背是背不完的。我把最常用的几个给你拆开讲,你记住它们,日常排查就够用了。
| 参数 | 全称 | 作用 | 我的经验 |
|---|---|---|---|
-c |
Client mode | 指定客户端模式,后面跟服务器 IP | 最常用,没有之一 |
-s |
Server mode | 启动服务端 | 记得防火墙放行端口 |
-t |
Time | 测试时长,单位秒 | 我习惯设 30 秒,太短看不出问题 |
-P |
Parallel | 并行连接数 | 测大带宽时用,一般设 4 或 8 |
-b |
Bandwidth | 目标带宽(UDP 必填) | UDP 不加这个等于白测 |
-u |
UDP | 使用 UDP 协议 | 测实时业务时必用 |
组合拳示例:
# 测 TCP,30 秒,4 个并行流
iperf3 -c 192.168.1.100 -t 30 -P 4
# 测 UDP,100Mbps,20 秒
iperf3 -c 192.168.1.100 -u -b 100m -t 20
-P 8,带宽直接飙到 9.2Gbps。记住:大带宽一定要用多线程!
3.5 知识体系总览
下面这张图,是我自己梳理的 iPerf3 核心逻辑。你照着这个思路去记,比死背参数强十倍。
嗯,这张图把咱们今天讲的内容串起来了。你照着这个框架去练,不出三天就能上手。记住,工具是死的,思路是活的。下次遇到网络慢的问题,别急着甩锅给运营商,先拿 iPerf3 跑一跑,数据会告诉你真相。