iperf3测速和吞吐量

作者:waMoYu 发布时间: 2026-01-21 阅读量:11 评论数:0

一、常见参数

下载地址:https://iperf.fr/iperf-download.php

其中tcp一般用于测试网速/吞吐量,udp一般用于测试链路质量(丢包率、抖动等)

双向测试要打开2个窗口

  • TCP窗口大小:带宽时延积(BDP)计算值×2

  • wrk线程数:建议不超过CPU逻辑核数的1.5倍

  • UDP测试包大小:通常设为路径MTU-28字节(IP+UDP头)

1) -c, --client <server_hostname>:指定客户端模式,连接到指定的服务器。

2) -s, --server:指定服务器模式,启动 iPerf3 服务器。

3) -p, --port <port>:指定服务器监听的端口号,默认为 5201。

4) -t, --time <time>:指定测试持续时间,单位为秒,默认为 10 秒。

5) -i, --interval <interval>:设置报告输出的间隔时间,单位为秒,默认为 1 秒。

6) -w, --window <window_size>:设置 TCP 窗口大小,单位为字节,默认为 128KB。

7) -b, --bandwidth <bandwidth>:限制带宽,单位为比特每秒(bps)。
其中k表示Kbits、m表示Mbits、g表示Gbits、K表示KBytes、M表示MBytes、G表示GByte
(0表示无限)(UDP默认1Mbit/sec,TCP不受限制)

8) -u, --udp:使用 UDP 协议进行测试,默认TCP协议。

9) -l, --len <length>:设置 UDP 数据包的长度,单位为字节,默认为 1460 字节。

10) -n, --bytes <number>:设置要发送的字节数,可以与 -t 参数一起使用。

11) -P, --parallel <number>:指定并发连接数,可以同时进行多个连接。

12) -R, --reverse:反向测试,客户端变为服务器,服务器变为客户端。

13) -V, --IPv6:使用 IPv6 地址。

14) -h, --help:显示帮助信息

二、打流测试

#默认测速,默认10s,默认不限制带宽

# 1)测试上行
iperf3 -c <服务器IP>

# 2)测试下行
iperf3 -c <服务器IP> -R

# 3)测试链路带宽-上行
iperf3 -c <服务器IP> -u -b0 -l 1400

# 4)测试链路带宽-下行
iperf3 -c <服务器IP> -u -l 1400 -R

2.1 启动服务端

iperf3 -s
或
iperf3 -s  -p <指定端口可选>

2.2 指定速率上行测试

iperf3 -c 192.168.1.1 -b 2500m -t 10

-c:指定服务器

-b:指定最大带宽为2500Mbps/2500Mbits

-t:测试时间

image
image

Interval:测试的时间间隔

Transfer:在测试期间传输的总数据量

Bandwidth:平均带宽

sender:发送

receiver:接收

2.3 指定速率下行测试

iperf3 -c 192.168.1.1 -b 2500m -t 10 -R

-c:指定服务器

-b:指定最大带宽为2500Mbps/2500Mbits

-t:测试时间

-R:反向测试

image
image

2.4 测试链路质量

iperf3 -c 192.168.1.1 -b 2500m -t 10 -u

iperf3 -c 192.168.1.1 -b 2500m -t 10 -u -l 1400
# -l: 单包大小1400字节(接近MTU默认值)

其中Jitter​表示抖动,Lost/Total表示丢包率

-c:指定服务器

-b:指定最大带宽为2500Mbps/2500Mbits

-t:测试时间

-R:反向测试

-u:udp模式测试

image

Interval:测试的时间间隔,这里是0.00到10.00秒。

Transfer:在测试期间传输的总数据量,这里是1016 MBytes。

Bandwidth:平均带宽,这里是852 Mbits/sec。

Jitter:抖动值,表示数据包到达时间的不规则性,这里是0.024 ms。

Lost/Total Datagrams:丢包统计,表示在测试期间丢失的数据包数量与总数据包数量的比列,即大约0%的丢包率。

2.5 多线程测试

iperf3 -c 192.168.1.1 -b 50m -t 10 -P 3

-c:指定服务器

-b:指定单个线程最大带宽50mbps,这里3个线程总带宽应该是3*50=150mbps

-t:测试时间

-R:反向测试

-u:udp模式测试

image
image

2.6 下载测试

iperf3 -c 192.168.1.1 -b 0 -n 5G -R

-n:设定下载数据大小5G

image

评论