iperf测试网络带宽

http://blog.chinaaet.com/telantan/p/30901

https://boke.wsfnk.com/archives/288.html

https://www.ibm.com/developerworks/cn/linux/l-netperf/index.html

iperf 和 netperf 都可以用来进行网络测试

iperf 是一个 TCP/IP 和 UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。

一、安装iperf

iperf是一个常用的网络性能测试工具,本文主要介绍iperf的移植的过程,最终简单利用iperf测试Zedboard上的千兆以太网性能。

在官网下载源码:https://github.com/esnet/iperf

这里使用的是最新版本Iperf3,和旧的Iperf有些区别。

Host宿主端安装

解压到相应文件夹,进入目录执行./configure

./configure

这里需要使用g++编译器,因此执行which g++看看是否可以找到g++

重新执行安装操作,

./configure

make

sudo make install

sudo ldconfig

确认iperf是否正常安装上

Target客户端移植

make clean

//注意这里编译器只需要前缀,而不是arm-linux-gnueabi-g++

./configure --prefix=/home/pp/11/iperf/iperf-master/rootfs --host=arm-linux-gnueabi

make

最后在输出文件下查看:

之后即可移植测试。

二、测试iperf

使用方式:客户端模拟像服务器端发送数据,服务器端接收数据,最终生成接收情况、丢包率等.

iperf参数介绍:

#常用公共参数
    -i 2    #表示每2秒显示一次报告
    -w 80k    #对于TCP方式,此设置为TCP窗口大小。对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值

    -B 192.168.122.1    
        #绑定到主机的多个地址中的一个。对于客户端来说,这个参数设置了出栈接口。对于服务器端来说,这个参数设置入栈接口。这个参数只用于具有多网络接口的主机。
        #在Iperf的UDP模式下,此参数用于绑 定和加入一个多播组。使用范围在224.0.0.0至239.255.255.255的多播地址
#常用客户端参数
    -b 100m    #用于udp测试时,设置测试发送的带宽,单位:bit/秒,不设置时默认为:1Mbit/-c     #指定服务端ip地址
    -d     #同时测试上行和下行
    -t 10    #设置传输时间,为10秒    
    -P 5    #指定发起5个线程

UDP模式测试(此模式会显示数据包丢失情况)

服务端
    iperf -u -s        # -u表示以udp模式运行,-s表示作为服务端

客户端
    iperf -u -c 192.168.122.1 -b 100M -t 60 -i 2
    #解释:在udp模式下,以100Mbps为数据发送速率,客户端到服务器192.168.1.1上传带宽测试,测试时间为60秒

    iperf -u -c 192.168.122.1 5M -P 30 -t 6        #客户端同时向服务器端发起30个连接线程,以5Mbps为数据发送速率
    iperf -u -c 192.168.122.1 -b 100M -d -t 60     #以100M为数据发送速率,进行上下行带宽测试

更正:iperf3 服务器端不再有-u选项

服务器端:
iperf3 -p 8000 -s -i 1

参数说明: -p : 端口号 -s : 标示服务端 -u : 标示udp协议 -i : 检测的时间间隔(单位:秒)

在客户端

客户端:
iperf3 -u -c 113.54.158.252 -p 8000 -i 1 -b 10M
参数说明: -c : 服务端的ip地址 -p : 端口号 -u : 标示udp协议 -b : 每一次发送的数据大小 -t : 总的发送时间(单位:秒) -i : 发送数据的时间间隔(单位:秒) -P : 表示线程个数,不指定则默认单线程

从左至右依次为: 线程id 时间 接收数据大小 每秒大小 延时 丢包/总包 丢包率

TCP模式下网络测试:

服务器端:
iperf3 -p 8000  -s -i 1

参数说明: -p : 端口号 -s : 标示服务端 -u : 标示udp协议 -i : 检测的时间间隔(单位:秒)

TCP客户端

iperf3 -c 113.54.158.252 -p 8000 -i 1 -b 10M

客户端

iperf -c 192.168.122.1 -t 60			#在tcp模式下,客户端到服务器192.168.1.1上传带宽测试,测试时间为60秒。 
iperf -c 192.168.122.1 -P 30 -t 60		#客户端同时向服务器端发起30个连接线程。 
iperf -c 192.168.122.1 -d -t 60 -i 2		#进行上下行带宽测试。

原文地址:https://www.cnblogs.com/shuqingstudy/p/10767414.html