实用的iperf命令:网络性能测试工具及安装与带宽测试方法

检测维修 0 128

iperf命令是工具,是用于网络性能测试的工具,能测试TCP带宽质量,能测试UDP带宽质量,还能通过UDP测试报告网丢包率,还能通过UDP测试发包性能,是实用工具 。

目录

iperf安装

带宽测试(TCP、UDP分开测试)

网络收发包性能测试

iperf安装

能够径直经由官网去下载与之对应的系统版本来开展安装,(https://iperf.fr/iperf-download.php)

对于windows版的iPerf,将解压出来的iperf.exe复制到%systemroot%目录,再将cygwin1.dll复制到%systemroot%目录就可以了

2.对于linux版的iPerf,请使用如下命令安装

yum -y install iperf

带宽测试

1、针对TCP进行带宽性能测试

服务端命令:iperf -s -i 1 -p 3389

在客户端所执行的命令是,iperf ,其参数为 -c 且数值为 172.19.16.97 , -p 并且数值是 3389 , -i 同时数值为 1 。

当然也可以不指定端口号和报告间隔:

服务端:iperf -s

客户端:iperf -c 172.19.16.97

我们看个例子:

启动服务端:

root@m01 ~

# iperf -s

请你提供具体的句子内容,以便我按照要求进行改写。

服务器正在监听,监听的是TCP端口,该端口为5001 。

TCP窗口大小为85.3千字节,这是默认设置这个设定是默认的 ,是85.3千字节大小有着这样的数值并且默认。 表示为85.3千字节 ,是为默认状态 。 (默认,为85.3千字节)这是TCP窗口大小的默认值 。 (有85.3千字节的大小)此为默认 。 (默认状态下为85.3千字节) 。

------------------------------------------------------------

客户端发起测试:

# 仅进行客户端到服务端的单项测试

iperf -c 10.0.0.12 -t 30 -i 5

# 同时进行上传、下载测试(双向测试)

执行iperf,以它连接10.0.0.12,持续了整整30的时长,持续间隔为5,进行双程传输并加上-L 8083 。

# 自动的先进行上传测试;再进行下载测试

启用iperf,连接至10、0、0、12,设置时长为30秒,每隔5秒统计一次,以反向模式运行,监听端口为8083 。

上面的命令含义:

服务端的地址为10.0.0.12,测试的时间长度是30秒,每隔5秒就会报告一回测试结果。

-d 参数是同时指定上下行带宽测试,

- r属于往返测试模式,在完成客户端至服务端的带宽测试后,服务器会运用-L所指定的端口,以反向方式连接至客户端,进而开展服务端到客户端的带宽测试。

-L 客户端同时作为服务端的时候,为对端提供的测试端口。

参数小结:

-s 以服务端的模式启动iperf

-c 以客户端的的形式启动iperf

使用 -t 指定出测试时长,其后面跟着的数字所代表的便是秒数,上面所给出的例子呈现出的是持续进行测试时长为 30 秒 。

-i 指定报告的间隔时间,上例是每5秒输出一次测试结果

iperf TCP UDP带宽测试方法_iperf命令使用教程_udp检测工具

-d 同时进行上下行带宽测试。

- L 用于指定,服务端反向连接客户端时所使用的端口,此端口也就是,客户端同时作为服务端时。所提供的可用于连接的端口。

-w 指定窗口大小进行测试

输出结果如下:

我们,10.0.0.14 是服务端,10.0.0.3 是客户端。上面截图,我们进行的是同时上下行测试,所以,红色框里的,代表客户端到服务端的带宽,代表服务端到客户端的下行带宽。

2、针对UDP进行带宽性能测试

采用udp模式进行带宽性能压测,是因为其能测出极限带宽呢,还能测出时延抖动以及丢包率。在开展测试之际,首先会以链路理论带宽当作数据发送速率来实施测试,举例来说,从客户端到服务器之间链路的理论带宽是100Mbps,会先用-b 100M展开测试,接着依据测试结果(涵盖实际带宽、时延抖动与丢包率),再把实际带宽作为数据发送速率去进行测试,此时会发觉时延抖动和丢包率比第一次要好很多,多次重复测试,便能得出稳定的实际带宽。

服务端命令:

iperf -u -s

客户端命令:

iperf,使用UDP协议,连接到10.0.0.14,设置带宽为1000M,每隔3秒进行一次数据传输,。

输出结果:

用来进行上面测试的服务器配备的是千兆网卡,我们察觉到,在以2000M的速率去发送数据包的时候,会存在丢包的状况 。

参数小结:

-b:设置UDP的发送带宽,单位bit/s

网络收发包性能测试

借助UDP发包测试,能够以-b xxxM这般的形式,对带宽性能状况予以测试,并且亦可凭借-b xxxpps,来测试收发包性能状况 。

网络收发包量进行测试时,会受到缓冲区大小的影响,倘若默认的缓冲区相对较小,就会导致服务器出现到达高pps丢包的现象,在此建议于测试前对缓冲区大小作出调整。与此同时,因为UDP默认发包大小是1470字节,当发包量处于很高的情形下就会超出服务器的带宽限制,因而在此需要通过-l来指定发包大小,本次测试采用-l 100bit 。

1、调整UDP缓冲区大小

vi /etc/sysctl.conf

添加

该句无法改写,此为编程相关的特定配置语句,有其固定格式及意义,不能随意改变其表达形式 。

将net.core.rmem_default的值转变为8388608 ,这一行为是在网络配置的范畴框架之内,针对核心部分也就是net.core的内存相关默认设置所展开的一种调整操作 。

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

然后执行sysctl -p 使得参数生效

sysctl -p

2、进行测试

服务端命令

iperf -u -s -i 1 -p 3389

客户端命令

iperf,-u参数,-c参数值为172.19.16.97,-b参数设置为300000pps,-l参数值为100bit,-i参数值为1,-p参数值为3389 。

可以发现,在通过测试进行30Wpps收发包测试时,不存在丢包现象,而当把收发包测试提升到32Wpps时,便已然开始出现丢包现象,由此能够断定,当前网络的pps为30W 。

参数汇总:

-s 以服务端的模式启动iperf

-c 以客户端的的形式启动iperf

-t 指定测试时长,后面的数字代表秒数,上面的例子是持续测试30s

-i 指定报告的间隔时间,上例是每5秒输出一次测试结果

-d 同时进行上下行带宽测试。

-L 用来指定服务端反向连接客户端的端口(即客户端同时作为服务端,提供的可连接端口)

-w 指定窗口大小进行测试

-b 设置UDP的发送带宽,单位bit/s

-l 指定包大小,TCP默认8k,UDP默认1470字节

相关推荐: