iperf3 是一个 TCP, UDP, 和 SCTP (传输层协议)网络带宽测量工具,iperf 是一个用于主动测量 IP 网络上最大可用带宽的工具. 它支持与时间、协议和缓冲区相关的各种参数的调优. 对于每个测试,它报告测量的吞吐量/比特率(带宽), 丢包率和其他参数,iperf的版本不向下兼容(本文使用iperf3 版本)
下载地址:iPerf - The TCP, UDP and SCTP network bandwidth measurement tool
相关参数
iperf3是一款强大的网络性能测试工具,可以评估网络带宽、延迟和数据包丢失等关键性能指标。以下是一些常用的iperf3参数及其使用举例:
### 通用参数
- `-v`:显示版本信息。
- `-p`:指定服务器端监听的端口号。
- `-f`:指定带宽输出的格式,例如Kbits、Mbits等。
- `-i`:设置监控报告的时间间隔。
- `-J`:以JSON格式输出结果,方便数据解析。
- `--logfile`:将结果输出到指定的文件中。
### 服务端参数
- `-s`:以服务器模式运行,等待客户端连接。
- `-D`:后台运行服务器模式。
### 客户端参数
- `-c`:以客户端模式运行,连接到服务端。
- `-t`:设置传输时间,默认为10秒。
- `-n`:设置传输的数据量大小,与`-t`不能同时使用。
- `-b`:设置目标比特率,UDP默认为1Mbit/s,TCP没有限制。
- `-l`:设置读取或写入的缓冲区长度,TCP默认为128KB,UDP默认为1460。
- `-O`:忽略测试开始前几秒的数据。
- `-R`:反向模式运行,即服务端发送,客户端接收。
- `-u`:使用UDP协议进行测试,默认使用TCP协议。
- `--get-server-output`:输出服务端的结果。
### 使用举例
1. **启动服务端**:
```
iperf3 -s
```
这将启动iperf3服务端,并在默认端口5201上监听。
2. **启动客户端并测试TCP连接**:
```
iperf3 -c [服务器IP地址] -t 10
```
这会启动iperf3客户端,并连接到指定IP地址的服务器,测试持续10秒。
3. **测试UDP连接**:
```
iperf3 -c [服务器IP地址] -u -b 1M -t 10
```
这会使用UDP协议,设置比特率为1Mbit/s,测试持续10秒。
4. **反向测试**:
```
iperf3 -c [服务器IP地址] -R -t 10
```
这将进行反向测试,即服务器向客户端发送数据。
5. **长期运行的测试**:
```
iperf3 -c [服务器IP地址] -t 3600 &
```
这将启动一个持续1小时的测试,并放到后台运行。
6. **获取JSON格式报告**:
```
iperf3 -c [服务器IP地址] -J -t 10
```
这会输出JSON格式的报告,方便进行数据分析和处理。
在使用iperf3进行网络测速时,建议根据具体的测试需求调整相关参数,以获得最准确的测试结果。同时,请确保客户端和服务端之间的网络连接稳定,以便得到可靠的测试数据。
命令行帮助
URL地址栏输入CMD 赋予环境变量 进入后输入 iperf3 即可查看帮助(同时验证临时环境变量设置成功)
测速环境
环境:同一局域网内使用有线或者无线连接同一网关等设备,获取双方的IP地址
PC电脑-----> PC电脑
PC电脑----->Android手机
LInux----->等等同理
注意:双方任意一端都可以作为服务端,测试的带宽数据在客户端查看
命令使用演示
PC------>PC
由于部分电脑有运行环境的问题使用CMD地址栏临时赋予环境变量(这里非常重要)
URL地址栏输入CMD 赋予临时环境变量(命令输入后无显示则操作有误)
1.PC1开启接收端服务
iperf3 -s
2.PC2开启客户端服务
场景一(数据正向传输)
上面环境进入同理命令 iperf3 -u -c 192.168.1.5 -b 100m -t 100
参数解释
c 客户端服务模式
u UDP协议(默认TCP协议)
192.168.10.250 被测速对端设备IP地址
b 设置比特速率为100Mbit/s
t 传输时间100s
注:最终我们说的实际带宽是还需要÷8=最终带宽
客户端显示测试的带宽结果
服务端显示传输参数
场景二(数据反向传输)
上面环境进入同理命令 iperf3 -u -c 192.168.1.5 -b 100m -t 100 -R
参数解释
c 客户端服务模式
u UDP协议(默认TCP协议)
192.168.10.250 被测速对端设备IP地址
b 设置比特速率为100Mbit/s
t 传输时间100s
-R 反向模式运行,即服务端发送,客户端接收(一个人的时候也方便测试)
注:最终我们说的实际带宽是还需要÷8=最终带宽
客户端显示测试的带宽结果
服务端显示传输参数
PC------>Android
环境: Android使用WiFi连接路由或者网关或者AP等设备使得设备处于同一局域网,PC端可以作为服务器也可以作为客户端
场景一(PC作为客户端)
PC开启客户端服务
上面环境进入同理命令 iperf3 -u -c 192.168.1.5 -b 100m -t 100
参数解释
c 客户端服务模式
u UDP协议(默认TCP协议)
192.168.10.250 被测速对端设备IP地址
b 设置比特速率为100Mbit/s
t 传输时间100s
注:最终我们说的实际带宽是还需要÷8=最终带宽
客户端显示的结果
Android端开启服务
打开安卓端 Network Tools 软件(包名et.he.networktools),选择iperf3 执行命令 -s
显示的结果
场景二(PC作为服务端)
PC开启服务端服务
客户端输入iperf3 -s
客户端显示的结果
Android开启客户端
执行命令 -c 192.168.1.2 -b 100m -t 100
命令 -c 192.168.1.2 -b 100m -t 100 -R 同理
注:客户端不加iperf3