一、什么是iperf3

iPerf3 是一个非常强大的用于测试IP网络的最大带宽的工具。它支持设置调整各种参数,

如时间,缓冲,协议等等,以支持得到被测的IP网络的在不同配置下的网络性能,得到

各种性能指标如带宽,丢包率等等。iPerf3不后能兼容iperf,也和iperf没有共享源代码,

是一个完全不同于iperf的全新工具。

二、iperf3网络结构

iperf3支持TCP和UDP,是一个主从式的网络结构,完成一个完整的iPerf3测试,通常至少需要二个IP主机,一个主机上运行iperf3的Server端, 另外一个主机上运行iperf3的客户端。

三、iperf3的安装

Linux:

yum install iperf3
apt install iperf3

四、iperf3的运行

iperf3软件运行时,需要用-s或者-c参数指定运行于server服务端模式或者client客户端模式

运行于server服务端模式:默认监听5201端口

iperf3 -s

会在主机端运行iPerf3,默认在5201端口同时监听UDP和TCP。

运行于client客户端模式: 默认会去连接对端的5201端口,默认TCP协议

iperf3 -c 192.168.43.69

发送10秒后,会停止,并报告收发二端(sender/client, receiver/server)的

Interval表示时间间隔、Transfer表示时间间隔里面转输的数据量、Bandwidth是时间间隔里的传输速率。

举例二:UDP吞吐

如果是需要UDP:客户端更改如下即可

iperf3 -u -c 192.168.8.Y -b 100m -t 60 -p 5201

举例三:测试多线程TCP吞吐量

如果没有指定发送方式,iPerf客户端只会使用单线程。

iperf3 -c 192.168.8.Y -P 30 -t 60

举例四:测试多线程UDP吞吐量

iperf3 -u -c  192.168.8.Y -b 5M -P 30 -t 60

举例五:上下行带宽测试(TCP双向)

iperf3 -c 192.168.8.Y -d -t 60

举例六:上下行带宽(UDP双向)

iperf3 -u -c  192.168.8.Y -b 100M -d -t 60

iperf3常用参数:

(1)-s,--server:服务器模式,默认启动的监听端口为5201,eg:iperf -s

(2)-c,--client host:客户端模式,host是server端地址,eg:iperf -c 222.35.11.23

(3)-i,--interval:指定每次报告之间的时间间隔,单位为秒,eg:iperf3 -c 192.168.12.168 -i 2

(4)-p,--port:指定服务器端监听的端口或客户端所连接的端口,默认是5001端口。

(5)-u,--udp:表示采用UDP协议发送报文,不带该参数表示采用TCP协议。

(6)-l,--len:设置读写缓冲区的长度,单位为 Byte。TCP方式默认为8KB,UDP方式默认为1470字节。通常测试 PPS 的时候该值为16,测试BPS时该值为1400。

(7)-b,--bandwidth [K|M|G]:指定UDP模式使用的带宽,单位bits/sec,默认值是1 Mbit/sec。

(8)-t,--time:指定数据传输的总时间,即在指定的时间内,重复发送指定长度的数据包。默认10秒。

(9)-A:CPU亲和性,可以将具体的iperf3进程绑定对应编号的逻辑CPU,避免iperf进程在不同的CPU间调度。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐