iperf工具简介
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
iperf⼯具简介
⼀、简单介绍iperf⼯具
iperf⼯具是⼀个⽹络性能测试⼯具。
Iperf可以测试TCP和UDP带宽质量。
Iperf可以测量最⼤TCP 带宽,具有多种参数
和UDP特性。
Iperf可以报告带宽,延迟抖动和数据包丢失。
iperf有很多种版本:有windows版本,有linux版本,android版本....等等很多种,就看你需要哪种了。
在⼀些⽹络运营公司或者是在⼀些通信⾏业的公司,可能经常性会碰到需要测试下该设备的吞吐量、⽹⼝性能等等。
当然你可能会问,这些测试直接使⽤Smartbit或者思博伦的仪器不就好了吗?当然你想的是对的,可有⼀点就是这些仪器测试的都是⽹⼝的底层驱动的性能,这些测试数据也是必要要的,但除了这些之外,还必须要⼀种数据,就是实际应⽤的⽹⼝数据,就好⽐在通信设备上,为了能与⽤户进⾏交互,可能会加载⼀些上层业务之类的层(当然⽹络⾥⾯应该称为应⽤层之类的),在加上这些的话,其整体的性能如何就要看iperf⼯具的测试了。
⼆、iperf主要功能(不要也知道,还是看看吧)
2.1、TCP
测量⽹络带宽
报告MSS/MTU值的⼤⼩和观测值
⽀持TCP窗⼝值通过套接字缓冲
当P线程或Win32线程可⽤时,⽀持多线程。
客户端与服务端⽀持同时多重连接
2.2、UDP
客户端可以创建指定带宽的UDP流
测量丢包
测量延迟
⽀持多播
当P线程可⽤时,⽀持多线程。
客户端与服务端⽀持同时多重连接(不⽀持Windows)
2.3、其他
在适当的地⽅,选项中可以使⽤K(kilo-)和M(mega-)。
例如131072字节可以⽤128K代替。
可以指定运⾏的总时间,甚⾄可以设置传输的数据总量。
在报告中,为数据选⽤最合适的单位。
服务器⽀持多重连接,⽽不是等待⼀个单线程测试。
在指定时间间隔重复显⽰⽹络带宽,波动和丢包情况。
服务器端可作为后台程序运⾏。
服务器端可作为Windows 服务运⾏。
使⽤典型数据流来测试链接层压缩对于可⽤带宽的影响。
⽀持传送指定⽂件,可以定性和定量测试
三、官⽅参数的解释(不解释,直接上)
这⾥我也不例外,在将平时使⽤之前,我想还是有必要先整理下官⽅关于iperf使⽤参数的解释,这样有助于你接下去学习的理解。
4.2、测试⽹⼝的最⼤带宽怎么弄呢?
这个时候,就需要⽤iperf的TCP的⽅式来进⾏了,因为UDP的⽅式测试不出来最⼤的带宽的。
服务器执⾏:#iperf -s
客户端执⾏:#iperf -c host -i 1 -t 20
4.3、UDP测试的结果怎么看?
通过UDP⽅式来进⾏测试的话,其测试数据中有这⼏项:吞吐量(Mbites/s),jitters(ms)还有就是丢包率
吞吐量:就是在单位时间内通过的⽹⼝数据,这个值越接近你设置的参数值就越好
jitters:延迟时间,这个测试数据越⼩越好
丢包率:这个就不⽤讲了,就是丢包了,测试数据越⼩越好
这⾥有个⼩秘密和⼤家讲⼀下:关于jitter和丢包率放在⼀起怎么个理解?
初看,可能⼤家都认为这个其实是⼀样的,为了⽅便解释了,我们就举个视频图像例⼦来说明吧
视频图像在传输过程中,每秒的传输都是稳定的,偶尔有些正常的波动,这个时候,突然间图像卡住了,过了好⼀会才来,但来的视频图像是接在卡住画⾯的后⾯,这个就叫做jitter;但视频图像卡住之后,过了⼀会⼉才来图像,来的视频图像是不接在卡住画⾯后⾯,直接跳了⼀段,那么这个就叫做丢包。
4.3、iperf版本不⼀样可以吗?
这⾥需要说明下,在测试的时候,客户端和服务器的iperf版本⼀定要⼀致,不然测试数据是不准确的,其原理是为什么,我想就不⽤讲了吧。
4.4、关于不同的iperf版本怎么编译?
A、⾸相需要下载iperf源码
B、搭建相应的iperf编译环境,⽐如android环境
C、进⾏编译
D、安装
ubuntu: sudo apt-get install iperf
linux:
#gunzip -c iperf-.tar.gz | tar -xvf -
#cd iperf-
#./configure
#make
#make install
关于更多iperf⽅⾯的内容或在实际使⽤中碰到问题的话,欢迎在下⾯留⾔交流,谢谢!。