利用iperf3打流测试,怎么查看ap信号强度多少正常

网址:http://blog.csdn.net/evenness/article/details/7371845
&是一个&&和
UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们网络性能,定位网络瓶颈。iperf是开源的,源代码可以从下载。
能够做什么
提起,想必大家都知道它是用了网络性能的。具体说来,是美国伊利诺斯大学()开发的一种开源的网络工具。可以用来测试网络节点间(也包括回环)或连接的性能,包括带宽、抖动以及丢包率,其中抖动和丢包率适应于测试,而带宽测试适应于和。
这里需要特别提出的是,不能够用来测试时延,想一想这是为什么。
网络性能参数
以上提到了网络的主要性能参数包括带宽,时延,抖动和丢包率,这些用一个名词代替,就是(服务质量)。
对于时延和抖动,见如下图
图中,分别表示包和包的时延。
对于时延,无能为力。但是能够计算抖动,想想这又是为什么。
我们知道,在中,我们测试时需要发送大量的包,因此计算出来的抖动值就是连续发送时延差值的平均值。
在系统下,安装最方便的方法是直接下载包,使用指定安装即可。
当然也可以直接去上下载源代码,使用如下命令安装即可。
前提是该机器上已经有编译器和等程序。安装完成之后,可以进行一个简单的回环测试是否安装成功。
iperf测试案例介绍
中的可选参数比较多,具体可以参见其用户手册。
一般来说,我们在做性能测试的时候需要指定包长,不同的包长会得到不同的吞吐量,通过指定,而使用指定带宽。
测试吞吐量,抖动和丢包率
如何需要同时测试以上三个参数,那么只能通过获得。使用参数进行测试(iperf默认为)。
在测试的最后端会给出一个报告。
要获得带宽数据,需要不断在端增加带宽值,直到端出现轻微的丢包为止,此时端显示的带宽就是被测系统的吞吐量。
那么有朋友会问,不能用来测试时延,而时延又是比较重要的参数,有什么办法吗?
其实最简单的办法就是使用程序。我们经常用它来测试特定主机能否通过IP到达,
程序会按时间和反应成功的次数,估计丢包率和分组来回时间(即网络时延)。
当然,如果我们能成功构造一个回环测试路径,那么测试时延就轻而易举了,我们可以使用iperf发送数据,同时结合抓包工具,经过wireshark分析.cap文件就可以得出包来回时间,也就是往返时延。
使用测试带宽应注意的问题
有时候,我们需要使用来测试网络带宽。这里有一个参数需要特别注意,那就是窗口大小,可以使用参数指定。
网络通道的容量
而理论窗口的大小就是网络通道的容量。
比如,网络带宽为回环路径消耗时间是,那么的窗口大小不小于×
此时我们可以查询默认的窗口大小来决定是否需要设置此参数,在此例中,窗口大小应设计大于10Kbytes,当然,这仅仅是理论值,在实际测试中可能需要作出调整。
-s 以模式启动,eg:iperf
-c 以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23
-f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K
-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2
iperf是client端向server端发送数据
server端显示的是接收速率,最好加i参数,进行速率跟踪
client 显示的是发送速率
server 显示接收速率
-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16
可以使用不同的包长,进行测试
-m 显示tcpmtu值
-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o c:iperflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999
-u 使用udp协议
测试htb的时候最好用udp,udp通信开销小,测试的带宽更准确
-w 指定TCP窗口大小,默认是8KB
如果窗口太小,有可能丢包
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输数据包
server专用参数
-D 以服务方式运行ipserf,eg:iperf -s -D
-R 停止iperf服务,针对-D,eg:iperf -s -R
client端专用参数
-d 同时进行双向传输测试
-n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000
-r 单独进行双向传输测试
-b 指定发送带宽,默认是1Mbit/s
在测试qos的时候,这是最有用的参数。
-t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5
-F 指定需要传输的文件
-T 指定ttl值
测试实例: & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
此软件需要安装到两端需要互测的机器上,然后一段作为服务端监听,一端作为客户端连接。具体命令可以iperf -h 查看下。
iperf -s -u
-s 标记此端为服务端
-u标记自己为UDP监听
-p 指定自己监听端口
iperf -c 1.1.1.1 -i 1 -u -t 60 -F /root/a.zip -P 5
-c标记自己为客户端
-i 设定输出值间隔
-u使用传输协议为UDP
-t 设定测试时间为60秒
-F 指定传输文件(该项可有可无)
-P 指定进程数,如果设置为5,那么也就相当与对端建立五个连接
注意事项:
1.发包测试需要分为UDP测试与TCP测试,其中服务端需要用-u命令去区分监听协议。
2.TCP协议测试不能计算出时延与丢包率,而且还不能指定发送带宽。
[root@localhost ~]# iperf -c 192.168.1.100 -u -i 1 -t 10 -b 2M #指定2M带宽向对端发送数据
------------------------------------------------------------
Client connecting to 192.168.1.100, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 108 KByte (default)
------------------------------------------------------------
[ 3] local 192.200.40.112 port 32784 connected with 218.60.1.20 port 5001 #与对端连接上的信息
[ ID] Interval Transfer Bandwidth #输出行的解释
[ 3] 0.0- 1.0 sec 12.0 GBytes 103 Gbits/sec
[ 3] 1.0- 2.0 sec 244 KBytes 2.00 Mbits/sec
[ 3] 2.0- 3.0 sec 244 KBytes 2.00 Mbits/sec
[ 3] 3.0- 4.0 sec 244 KBytes 2.00 Mbits/sec
[ 3] 4.0- 5.0 sec 244 KBytes 2.00 Mbits/sec
[ 3] 5.0- 6.0 sec 245 KBytes 2.01 Mbits/sec
[ 3] 6.0- 7.0 sec 244 KBytes 2.00 Mbits/sec
[ 3] 7.0- 8.0 sec 244 KBytes 2.00 Mbits/sec
[ 3] 8.0- 9.0 sec 244 KBytes 2.00 Mbits/sec
[ 3] 9.0-10.0 sec 244 KBytes 2.00 Mbits/sec
[ 3] 0.0-10.0 sec 12.0 GBytes 10.3 Gbits/sec
[ 3] Sent 1702 datagrams
[ 3] Server Report:&#输出报告
[ 3] 0.0-10.6 sec 263 KBytes 204 Kbits/sec 36.313 ms
(89%) #间距 ,传输总字节,速率,时延,丢包率。
[ 3] 0.0-10.6 sec 1 datagrams received out-of-order &#乱序
[root@localhost ~]# iperf -s -u #设定此端为服务端
------------------------------------------------------------ #本段设置信息
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 108 KByte (default)
------------------------------------------------------------
[ 3] local 218.60.1.20 port 5001 connected with 218.241.145.36 port 32784 #如果对端连接上了本端才会出现该信息
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-10.6 sec 263 KBytes 204 Kbits/sec 36.314 ms
[ 3] 0.0-10.6 sec 1 datagrams received out-of-order
iPerf同样也可以用于测量UDP数据包吞吐量、丢包和延迟指标。与TCP测试不同的是,UDP测试不采取尽可能快地发送流量的方式。与之相对的是,iPerf尝试发送1 Mbps的流量,这个流量是打包在1470字节的UDP数据包中(成为以太网的一帧)。我们可以通过指定一个目标带宽参数来增加数据量,单位可以是Kbps 或Mbps(-b #K 或 --b #M)。举例如下:
然而,上面的例子只说明了iPerf客户端能够以多快的速度传输数据。为了得到更多关于UDP发送的数据,我们必须查看服务器上的结果:
这样,我们就可以看到吞吐量(间隔1秒测量的),以及丢包数(丢失的数据屯接收到的数据对比)和延迟(如jitter——在连续传输中的平滑平均值差)。延迟和丢失可以通过应用的改变而被兼容。比如,视频流媒体通过缓冲输入而能够容忍更多的延迟,而语音通讯则随着延迟增长性能下降明显。
UDP测试可以通过改变报文缓冲长度进行优化,长度单位为Kbytes 或 Mbytes(-l #K or #M)。与以太网帧的1500比特的MTU(最大转换单位)不同的是,802.11数据帧可以达到2304比特(在加密之前)。
但是,如果你正在测试的路径中包括Ethernet和802.11,那么要控制你的测试数据包长度,使它在一个Ethernet帧以内,以避免分片。
另一个有趣的iPerf UDP测试选项是服务类型(Type of Service, ToS),它的大小范围从0x10 (最小延迟) 到0x2 (最少费用)。在使用802.11e来控制服务质量的WLAN中,ToS是映射在Wi-Fi多媒体(WMM)存取范畴的。
对比两种方式
在802.11a/b/g网络中,无线电的传输性能变化在在两个方向上都很相似。比如,当距离导致数据传输率下降或干扰造成重要数据包丢失时,发送和接收的应用吞吐量都受到影响。
在802.11n网络中,MIMO天线和多维空间流使问题又有所不同。从笔记本发送到AP上的数据帧可能(有意地)使用一个完全与从AP发送到笔记本上帧时不同的空间路径。这样的结果是,现在对两个方向的测试都很重要的。幸运的是,iPerf本身就已经拥有这个功能,这是由两个选项所控制的:
&--d选项是用于告诉iPerf服务器马上连接回iPerf客户端的由--L 所指定端口,以支持同时测试两个方向的传输。
&--r选项虽然有些类似,但是它是告诉iPerf服务器等到客户端测试完成后再在相反的方向中重复之前的测试。
最后,如果你需要支持多点传送应用,那么可以使用-B选项指定多点传送组IP地址来启动多个iPerf服务器。然后再打开你的iPerf客户端,连接之前启动的多点传送组iPerf服务器。
使用测试工具iPerf监控无线网络性能:图形化测试结果
如本文介绍的,iPerf程序可以在命令行下运行,它或者也在一个名为JPerf的实现前端工具上运行。JPerf不仅能简化复杂命令行参数的构造,而且它还保存测试结果——同时实时图形化显示结果。
图1 使用JPerf运行iPerf
事实上,iPerf测试工具被嵌入到一些其它的网络流量分析工具中——包括底层LAN分析工具,如AirMagnet。比如,在下面的屏幕截图中显示了一个Wi-Fi笔记本上运行的AirMagnet作为iPerf客户端与安装在有线网络上的常规iPerf服务器进行交互的情况。
图2 使用AirMagnet运行iPerf
正如我们所看到的,iPerf简化了对基于TCP数据流应用和UDP数据包应用的端对端性能测定。然而,iPerf仍然无法模拟所有类型的应用——比如,对于交互式上网的模拟就不是很好。同时,用于iPerf Wi-Fi测试的WLAN适配器也会影响你的测试——为了获得更好的测试结果,我们可以配置一个类似于“实际”用户的有代表性的适配器。
尽管如此,iPerf仍然是一个非常方便的工具,它可以帮助你生成和检测WLAN应用流量。同时,因为iPerf可以方便以开源软件方式获取,因此使用它来在其它位置重复创建测试环境是一个很好的方法——如分公司、供应商技术支持等等。想要了解更多关于iPerf的信息,可以阅读NLANR上的更老的文件或者浏览SourceForge上新的项目页面。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:154253次
积分:4251
积分:4251
排名:第7581名
原创:283篇
评论:12条
(10)(20)(15)(17)(8)(15)(7)(15)(26)(39)(23)(43)(44)(5)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'博客访问: 7138413
博文数量: 560
注册时间:
认证徽章:
ITPUB论坛APP
ITPUB论坛APP
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Linux
在实际运维故障调试中,网络设备性能往往是需要重点关注的对象。网络性能问题是最直接影响系统整体效果的重要因素。网络性能可以包括两个层面指标:当前实际值和性能极值。实际值是指系统实际运行或者运行高峰期时网络流量和负载情况。而性能极值则是测试网络整体的极限情况。
对Oracle数据库而言,一些重要架构模式,如RAC、Dataguard和Golden Gate,都需要可靠地网络结构进行支持。在出现故障的时候,进行网络节点间的测试验证也是经常需要进行步骤。本篇介绍Iperf工具进行网络带宽测试,查看网络设备的性能瓶颈。
Iperf是一个开源小工具,官方网站为。 目前的Iperf支持TCP和UDP两个协议带宽测试内容,操作系统也覆盖Linux、Windows、MacOS等主流操作系统。对Oracle而言,TCP和UDP两个协议就已经覆盖了最常用的协议类型。Oracle RAC在互联私有网络中使用UDP协议(Windows版本除外),公网数据传输访问则使用TCP协议。
下面我们演示在Linux环境中使用Iperf方法。
1、环境配置
Iperf工作模式是一个典型的CS模式,工作原理是通过客户端发送网络包传输到服务器端,从而计算出网络情况。
首先从官方网站上下载Linux版本的iperf,Linux版本的目前是bz压缩包格式,上传到服务器后需要进行额外的解压过程。
我们准备两台服务器进行测试,服务器1和服务器2。
服务器1IP地址为172.16.3.27,版本为Linux内核2.6.32。上传iperf到对应目录并解压。
[root@TESTAUDDB ~]# uname -r
2.6.32-131.0.15.el6.x86_64
[root@TESTAUDDB ~]# ifconfig
eth0&&&&& Link encap:Ethernet& HWaddr 34:40:B5:A1:56:C0&
&&&&&&&&& inet addr:172.16.3.27& Bcast:172.16.255.255& Mask:255.255.255.0
&&& &&&&&&inet6 addr: fe80::3640:b5ff:fea1:56c0/64 Scope:Link
&&&&&&&&& UP BROADCAST RUNNING MULTICAST& MTU:1500& Metric:1
[root@TESTAUDDB ~]# cd /
[root@TESTAUDDB /]# mkdir iperf
[root@TESTAUDDB /]# ls -l | grep iperf
drwxr-xr-x.&& 2 root&& root&&&&& 4096 Mar 21 08:30 iperf
上传软件包并且解压。
[root@TESTAUDDB iperf]# bzip2 -d iperf64.bz2
[root@TESTAUDDB iperf]# chmod 755 iperf64
[root@TESTAUDDB iperf]# ls -l
-rwxr-xr-x. 1 root root 876211 Mar 21 08:33 iperf64
第二台服务器IP地址为172.16.3.28,同样为Linux 2.6.32。
[root@TESTAUDAPP ~]# hostname
TESTAUDAPP
[root@TESTAUDAPP ~]# uname -r
2.6.32-131.0.15.el6.x86_64
eth0&&&&& Link encap:Ethernet& HWaddr 34:40:B5:A1:53:D8&
&&&&&&&&& inet addr:172.16.3.28& Bcast:172.16.255.255& Mask:255.255.255.0
&&&&&&&&& inet6 addr: fe80::3640:b5ff:fea1:53d8/64 Scope:Link
&&&&&&&&& UP BROADCAST RUNNING MULTICAST& MTU:1500& Metric:1
&&&&&&&&& RX packets:3350494 errors:0 dropped:0 overruns:0 frame:0
上传iperf目录,解压和服务器1相同,过程略。
[root@TESTAUDAPP iperf]# ls -l
-rwxr-xr-x. 1 root root 876211 Mar 21 09:29 iperf64
注意:作为IPerf服务器端的主机,最好关闭防火墙程序或者将其5001端口开启。
[root@TESTAUDDB iperf]# service iptables stop
iptables: Flushing firewall rules: [& OK& ]
iptables: Setting chains to policy ACCEPT: nat mangle filter [& OK& ]
iptables: Unloading modules: [ &OK& ]
2、IPerf进行TCP协议诊断测试
我们先进行简单的TCP协议网络测试。在服务器端(3.27)启动Iperf程序,以服务器模式启动。
(在3.27上)
[root@TESTAUDDB iperf]# ./iperf64 -s
---------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
-----------------------------------------------
在客户端,通过参数-c启动程序为客户端模式。客户端参数-c取值为连接服务器IP地址。
[root@TESTAUDAPP iperf]# ./iperf64 -c 172.16.3.27
----------------------------------------------
Client connecting to 172.16.3.27, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------
[& 3] local 172.16.3.28 port 64207 connected with 172.16.3.27 port 5001
[ ID] Interval&&&&&& Transfer&&&& Bandwidth
[& 3]& 0.0-10.0 sec& 1.10 GBytes&&& 943 Mbits/sec
最后一行为测试结果。Interval表示连接测试的时间范围,通常为10s。Transfer为在这个时间段内,客户端和服务器传输的数据总量。结果Bandwidth是我们最关注的就是网络传输速率,也就是带宽。
从实验结果可以看出,两台服务器之间的网络带宽为943Mbits/sec。
3、UDP协议测试
UDP协议是RAC私有网络互联的标准协议类型。使用iperf可以进行标准测试带宽。通过额外的-u参数,可以开启IPerf进入UDP工作模式。
[root@TESTAUDDB iperf]# ./iperf64 -s -u
-----------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 4.00 MByte (default)
--------------------------------------------
客户端方面,也需要加入-u参数进行UDP数据包发送。
[root@TESTAUDAPP iperf]# ./iperf64 -u -c 172.16.3.27
-------------------------------------
Client connecting to 172.16.3.27, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 4.00 MByte (default)
--------------------------------------------
[& 3] local 172.16.3.28 port 24436 connected with 172.16.3.27 port 5001
[ ID] Interval&&&&&& Transfer&&&& Bandwidth
[& 3]& 0.0-10.0 sec& 1.25 MBytes& 1.05 Mbits/sec
[& 3] Sent 893 datagrams
[& 3] Server Report:
[ ID] Interval&&&&&& Transfer&&&& Bandwidth&&&&&& Jitter&& Lost/Total Datagrams
[& 3]& 0.0-10.0 sec& 1.25 MBytes& 1.05 Mbits/sec& 0.005 ms&&& 0/& 893 (0%)
测试结果中,UDP连接带宽为1.05Mbit/sec。
对指定时间发送的数据量,1.25Mbytes是默认取值。我们可以根据实际的情况进行调节,通过参数-b可以设置数据量。
[root@TESTAUDAPP iperf]# ./iperf64 -u -c 172.16.3.27 -b 10m
------------------------------------------------
Client connecting to 172.16.3.27, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 4.00 MByte (default)
--------------------------------------------------
[& 3] local 172.16.3.28 port 9254 connected with 172.16.3.27 port 5001
[ ID] Interval&&&&&& Transfer&&&& Bandwidth
[& 3]& 0.0-10.0 sec& 11.9 MBytes& 10.0 Mbits/sec
[& 3] Sent 8505 datagrams
[& 3] Server Report:
[ ID] Interval&&&&&& Transfer&&&& Bandwidth&&&&&& Jitter&& Lost/Total Datagrams
[& 3]& 0.0-10.0 sec& 11.9 MBytes& 10.0 Mbits/sec &0.006 ms&&& 0/ 8505 (0%)
实际测试中,可以设置比较大的数据包值,给予一定的数据压力。但是-b只能在UDP协议中使用,在TCP协议中不能用。
[root@TESTAUDAPP iperf]# ./iperf64 -c 172.16.3.27 -b 10m
WARNING: option -b implies udp testing
-------------------------------------------
Client connecting to 172.16.3.27, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 4.00 MByte (default)
---------------------------------------
[& 3] local 172.16.3.28 port 33902 connected with 172.16.3.27 port 5001
write2 failed: Connection refused
[ ID] Interval&&&&&& Transfer&&&& Bandwidth
[& 3]& 0.0- 0.0 sec& 1.44 KBytes& 9.58 Mbits/sec
[& 3] Sent 1 datagrams
read failed: Connection refused
[& 3] WARNING: did not receive ack of last datagram after 1 tries.
最后,测试一下本机之间的连接情况,也就是连接127.0.0.1本地地址。
[root@TESTAUDDB iperf]# ./iperf64 -c 127.0.0.1
-------------------------------------
Client connecting to 127.0.0.1, TCP port 5001
TCP window size: 49.6 KByte (default)
--------------------------------------------
[& 3] local 127.0.0.1 port 17502 connected with 127.0.0.1 port 5001
[ ID] Interval&&&&&& Transfer&&&& Bandwidth
[& 3]& 0.0-10.0 sec& 13.0 GBytes& 11.2 Gbits/sec
IPerf是我们进行网络实测的好工具,记录下来,留待需要的朋友不时之需。
阅读(18464) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。网络性能测试工具iperf详细使用图文教程 - CSDN博客
网络性能测试工具iperf详细使用图文教程
Iperf是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。利用Iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。
Iperf有两种版本,windows版和linux版本。linux版本更新快,最新版本为iperf 3.0,下载地址为&,windows版本官方更新的最新版本为1.7(打包在jperf中),下载地址为:
&,不过在网络上找到了移植版本iperf2.5。Iperf还有一个图形界面程序叫做Jperf,使用JPerf程序能简化了复杂命令行参数的构造,而且它还保存测试结果,同时实时图形化显示结果。当然,JPerf可以测试TCP和UDP带宽质量。JPerf可以测量最大TCP带宽,具有多种参数和UDP特性。JPerf可以报告带宽,延迟抖动和数据包丢失。为了测试的准确性,尽量使用linux环境测试。
Iperf和Jperf的相关文件已打包在附件中
Iperf的主要功能如下:
测量网络带宽
报告MSS/MTU值的大小和观测值
支持TCP窗口值通过套接字缓冲
当P线程或Win32线程可用时,支持多线程。客户端与服务端支持同时多重连接
客户端可以创建指定带宽的UDP流
当P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows)
在适当的地方,选项中可以使用K(kilo-)和M(mega-)。例如131072字节可以用128K代替。
可以指定运行的总时间,甚至可以设置传输的数据总量。
在报告中,为数据选用最合适的单位。
服务器支持多重连接,而不是等待一个单线程测试。
在指定时间间隔重复显示网络带宽,波动和丢包情况。
服务器端可作为后台程序运行。
服务器端可作为Windows 服务运行。
使用典型数据流来测试链接层压缩对于可用带宽的影响。
支持传送指定文件,可以定性和定量测试
Iperf使用方法
对于windows版的Iperf,直接将解压出来的iperf.exe和cygwin1.dll复制到%systemroot%目录即可
对于linux版的Iperf,请使用如下命令安装
gunzip -c iperf-&version&.tar.gz | tar -xvf -
cd iperf-&version&
./configure
make install
使用Iperf(以windows版本为例)
在命令提示符中输入iperf命令即可运行Iperf,使用命令Iperf –help可以查看iperf的帮助
Iperf参数介绍
命令行选项
客户端与服务器共用选项
-f, --format [bkmaBKMA]
格式化带宽数输出。支持的格式有:&
'b' = bits/sec 'B' = Bytes/sec&
'k' = Kbits/sec 'K' = KBytes/sec&
'm' = Mbits/sec 'M' = MBytes/sec&
'g' = Gbits/sec 'G' = GBytes/sec&
'a' = adaptive bits/sec 'A' = adaptive Bytes/sec&
自适应格式是kilo-和mega-二者之一。除了带宽之外的字段都输出为字节,除非指定输出的格式,默认的参数是a。&
注意:在计算字节byte时,Kilo = 1024, Mega = 1024^2,Giga = 1024^3。通常,在网络中,Kilo = 1000, Mega = 1000^2, and Giga = 1000^3,所以,Iperf也按此来计算比特(位)。如果这些困扰了你,那么请使用-f b参数,然后亲自计算一下。
-i, --interval #
设置每次报告之间的时间间隔,单位为秒。如果设置为非零值,就会按照此时间间隔输出测试报告。默认值为零。
-l, --len #[KM]
设置读写缓冲区的长度。TCP方式默认为8KB,UDP方式默认为1470字节。
-m, --print_mss
输出TCP MSS值(通过TCP_MAXSEG支持)。MSS值一般比MTU值小40字节。通常情况
-p, --port #
设置端口,与服务器端的监听端口一致。默认是5001端口,与ttcp的一样。
使用UDP方式而不是TCP方式。参看-b选项。
-w, --window #[KM]
设置套接字缓冲区为指定大小。对于TCP方式,此设置为TCP窗口大小。对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值。
-B, --bind host
绑定到主机的多个地址中的一个。对于客户端来说,这个参数设置了出栈接口。对于服务器端来说,这个参数设置入栈接口。这个参数只用于具有多网络接口的主机。在Iperf的UDP模式下,此参数用于绑定和加入一个多播组。使用范围在224.0.0.0至239.255.255.255的多播地址。参考-T参数。
-C, --compatibility
与低版本的Iperf使用时,可以使用兼容模式。不需要两端同时使用兼容模式,但是强烈推荐两端同时使用兼容模式。某些情况下,使用某些数据流可以引起1.7版本的服务器端崩溃或引起非预期的连接尝试。
-M, --mss #[KM}
通过TCP_MAXSEG选项尝试设置TCP最大信息段的值。MSS值的大小通常是TCP/IP头减去40字节。在以太网中,MSS值 为1460字节(MTU1500字节)。许多操作系统不支持此选项。
-N, --nodelay
设置TCP无延迟选项,禁用Nagle's运算法则。通常情况此选项对于交互程序,例如telnet,是禁用的。
-V (from v1.6 or higher)
绑定一个IPv6地址。&
服务端:$ iperf -s –V&
客户端:$ iperf -c &Server IPv6 Address& -V&
注意:在1.6.3或更高版本中,指定IPv6地址不需要使用-B参数绑定,在1.6之前的版本则需要。在大多数操作系统中,将响应IPv4客户端映射的IPv4地址。
服务器端专用选项
-s, --server
Iperf服务器模式
-D (v1.2或更高版本)
Unix平台下Iperf作为后台守护进程运行。在Win32平台下,Iperf将作为服务运行。
-R(v1.2或更高版本,仅用于Windows)
卸载Iperf服务(如果它在运行)。
-o(v1.2或更高版本,仅用于Windows)
重定向输出到指定文件
-c, --client host
如果Iperf运行在服务器模式,并且用-c参数指定一个主机,那么Iperf将只接受指定主机的连接。此参数不能工作于UDP模式。
-P, --parallel #
服务器关闭之前保持的连接数。默认是0,这意味着永远接受连接。
客户端专用选项
-b, --bandwidth #[KM]
UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec。
-c, --client host
运行Iperf的客户端模式,连接到指定的Iperf服务器端。
-d, --dualtest
运行双测试模式。这将使服务器端反向连接到客户端,使用-L 参数中指定的端口(或默认使用客户端连接到服务器端的端口)。这些在操作的同时就立即完成了。如果你想要一个交互的测试,请尝试-r参数。
-n, --num #[KM]
传送的缓冲器数量。通常情况,Iperf按照10秒钟发送数据。-n参数跨越此限制,按照指定次数发送指定长度的数据,而不论该操作耗费多少时间。参考-l与-t选项。
-r, --tradeoff
往复测试模式。当客户端到服务器端的测试结束时,服务器端通过-l选项指定的端口(或默认为客户端连接到服务器端的端口),反向连接至客户端。当客户端连接终止时,反向连接随即开始。如果需要同时进行双向测试,请尝试-d参数。
-t, --time #
设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒钟。参考-l与-n选项。
-L, --listenport #
指定服务端反向连接到客户端时使用的端口。默认使用客户端连接至服务端的端口。
-P, --parallel #
线程数。指定客户端与服务端之间使用的线程数。默认是1线程。需要客户端与服务器端同时使用此参数。
-S, --tos #
出栈数据包的服务类型。许多路由器忽略TOS字段。你可以指定这个值,使用以&0x&开始的16进制数,或以&0&开始的8进制数或10进制数。&
例如,16进制'0x10' = 8进制'020' = 十进制'16'。TOS&#就是:
IPTOS_LOWDELAY minimize delay 0x10&
IPTOS_THROUGHPUT maximize throughput 0x08&
IPTOS_RELIABILITY maximize reliability 0x04&
IPTOS_LOWCOST minimize cost 0x02
-T, --ttl #
出栈多播数据包的TTL值。这本质上就是数据通过路由器的跳数。默认是1,链接本地。
-F (from v1.2 or higher)
使用特定的数据流测量带宽,例如指定的文件。&
$ iperf -c &server address& -F &file-name&
-I (from v1.2 or higher)
与-F一样,由标准输入输出文件输入数据。
-h, --help
显示命令行参考并退出 。
-v, --version
显示版本信息和编译信息并退出。
用Iperf测试路由器的性能
测试单线程TCP
在服务端运行iperf,输入命令iperf –s –p 12345 –i 1 –M 以在本机端口12345上启用iperf
在客户端运行iperf,输入命令iperf –c&server-ip&–p&server-port&–i 1 –t 10 –w 20K,其中参数说明如下:
-c:客户端模式,后接服务器ip
-p:后接服务端监听的端口
-i:设置带宽报告的时间间隔,单位为秒
-t:设置测试的时长,单位为秒
-w:设置tcp窗口大小,一般可以不用设置,默认即可
测试后截图如下:
客户端截图
服务端截图
其中:Interval表示时间间隔。Transfer表示时间间隔里面转输的数据量。Bandwidth是时间间隔里的传输速率。最后一行是本次测试的统计。测试可知带宽平均为89.9Mbit/s。
测试多线程TCP
在客户端添加-P参即可测试多线程的TCP性能,如下为使用两个线程的测试情况
测试单线程UDP(默认带宽)
在服务端运行iperf,输入命令iperf –s -u –p 12345 –i 1 以在本机端口12345上启用iperf,并运行于udp模式
在客户端运行iperf,输入命令iperf -c server-ip -p server-port -i 1 -t 10 -b,其中参数说明如下:
-c:客户端模式,后接服务器ip
-p:后接服务端监听的端口
-i:设置带宽报告的时间间隔,单位为秒
-t:设置测试的时长,单位为秒
-b:设置udp的发送带宽,单位bit/s
其中,Jitter为抖动,lost/total为丢包数量,Datagrams为包数量。
测试单线程UDP(带宽为10Mbit/s)
设置客户端带宽为10M即可,使用参数-b指定
测试多线程UDP
与多线程TCP类似,只需要客户端使用-P参数指定线程个数即可
测试UDP的双向传输
客户端使用参数-d以运行双测试模式,客户端会与服务端进行udp往返测试。可以使用-L参数指定本端双测试监听的端口。
测试UDP往复传输
与双向传输类似,使用参数-r以运行交互模式,仍然可以使用-L参数指定交互的端口。
分布式测试
使用多台电脑或使用一台电脑的多个IP地址测试。当使用一台电脑的多个iP地址测试时,可以使用-B命令绑定网卡的某一个ip地址以测试
Jperf使用方法
JPerf2.0简介
Jperf是将iperf命令行图形化的JAVA程序;
使用JPerf程序能简化了复杂命令行参数的构造,而且它还保存测试结果,同时实时图形化显示结果。JPerf可以测试TCP和UDP带宽质量。JPerf可以测量最大TCP带宽,具有多种参数和UDP特性。JPerf可以报告带宽,延迟抖动和数据包丢失。
JPerf2.0运行环境
操作系统:Java运行环境: JREjxpiinstall.exe
网络要求:Jperf可以在任何IP 网络上运行,包括本地以太网,因特网接入连接和Wi-Fi网络。
其他:使用JPerf必须安装两个组件:JPerf 服务器(用于监听到达的测试请求)和JPerf客户端(用于发起测试会话)
JPerf2.0页面如下图:
JPerf2.0具体介绍
Iperf命令行(无法直接输入)
服务端设置
监听端口:5001
client limit:客户端限制,仅允许指定客户端连接
Num Connections:最大允许连接的数量,为0不限制
客户端设置
服务器地址:10.0.115.82 ,端口:5001 ,并发流:1个
应用层设置
1、兼容旧版本(当server端和client端版本不一样时使用)
2、设置测试模式:传输字节总量大小15Bytes或者按传输时间总长度15秒
3、同时进行双向传输测试
4、单独进行双向传输测试,先测c到s的带宽
5、指定需要传输的文件
6、显示tcp最大mtu值
传输层设置
1、TCP协议
设置缓冲区大小
指定TCP窗口大小
设定TCP数据包的最大mtu值
设定TCP不延时
2、UDP协议
设置UDP最大带宽
设置UDP缓冲区
UDP包封装大小:默认1470 byte
1、指定ttl值
2、服务类型(Type of Service, ToS),大小范围从0x10 (最小延迟) 到0x2 (最少费用)
在使用802.11e来控制服务质量的WLAN中,ToS是映射在Wi-Fi多媒体(WMM)存取范畴的。
JPerf2.0测试举例:
测试内容(UDP):
UDP buffer size:默认,0.01M
UDP packet size:默认,1470 byte
端口:5001
测试网卡带宽:1000M
测试总时间:10 s
时间间隔:1 s
显示单位:M
测试流:1个
bin/iperf.exe -c 10.0.115.82 -u -P 1 -i 1 -p 5001 -f M -b 1000M -t 10 -T 1 -F C:\Documents and Settings\Administrator\桌面\Clip2_CCTV5_NBA_3.75M_V3.3M_A160k.ts
Unable to open the file stream
Will use the default data stream
------------------------------------------------------------
Client connecting to 10.0.115.82, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 0.01 MByte (default)
------------------------------------------------------------
[1832] local 10.0.115.54 port 3297 connected with 10.0.115.82 port 5001
[ ID] Interval Transfer Bandwidth
[- 1.0 sec 3.46 MBytes 3.46 MBytes/sec
[- 2.0 sec 3.32 MBytes 3.32 MBytes/sec
[- 3.0 sec 3.43 MBytes 3.43 MBytes/sec
[- 4.0 sec 3.42 MBytes 3.42 MBytes/sec
[- 5.0 sec 3.43 MBytes 3.43 MBytes/sec
[- 6.0 sec 3.39 MBytes 3.39 MBytes/sec
[- 7.0 sec 3.43 MBytes 3.43 MBytes/sec
[- 8.0 sec 3.40 MBytes 3.40 MBytes/sec
[- 9.0 sec 3.43 MBytes 3.43 MBytes/sec
[-10.0 sec 3.47 MBytes 3.47 MBytes/sec
[-10.0 sec 34.2 MBytes 3.41 MBytes/sec
[1832] Server Report:
[-10.0 sec 34.2 MBytes 3.41 MBytes/sec 1.953 ms 13/2%)
[1832] Sent 24378 datagrams
bin\iperf.exe: ignoring extra argument -- and
bin\iperf.exe: ignoring extra argument -- Settings\Administrator\桌面\Clip2_CCTV5_NBA_3.75M_V3.3M_A160k.ts
bin/iperf.exe -s -u -P 0 -i 1 -p 5001 -f M
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 0.01 MByte (default)
------------------------------------------------------------
[1928] local 10.0.115.82 port 5001 connected with 10.0.115.54 port 3297
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[- 1.0 sec 3.45 MBytes 3.45 MBytes/sec 0.281 ms / e+007%)
[- 2.0 sec 3.31 MBytes 3.31 MBytes/sec 0.264 ms 0/ 2358 (0%)
[- 3.0 sec 3.43 MBytes 3.43 MBytes/sec 0.288 ms 6/ %)
[- 4.0 sec 3.42 MBytes 3.42 MBytes/sec 0.271 ms 4/ %)
[- 5.0 sec 3.43 MBytes 3.43 MBytes/sec 0.269 ms 0/ 2446 (0%)
[- 6.0 sec 3.39 MBytes 3.39 MBytes/sec 0.662 ms 0/ 2417 (0%)
[- 7.0 sec 3.43 MBytes 3.43 MBytes/sec 0.252 ms 0/ 2446 (0%)
[- 8.0 sec 3.40 MBytes 3.40 MBytes/sec 0.232 ms 3/ %)
[- 9.0 sec 3.43 MBytes 3.43 MBytes/sec 0.083 ms 0/ 2448 (0%)
[-10.0 sec 3.47 MBytes 3.47 MBytes/sec 0.218 ms 0/ 2474 (0%)
[-10.0 sec 34.2 MBytes 3.41 MBytes/sec 1.953 ms 13/2%)
[-10.0 sec 34.2 MBytes 3.41 MBytes/sec 1.953 ms 13/2%)
[1832] Sent 24378 datagrams
链路传输UDP速度:3.42MBytes/sec
总延时:1.953ms
丢包:13个 占0.053%
总传输:34.2MB
转载:/hlz_2599/blog/static//
本文已收录于以下专栏:
相关文章推荐
有时候需要发包,仅仅需要一定速率的流量,并不需要关心收到报文的大小,一个好用的开源软件发包工具并不好找,iperf发包很方便,但是一般需要两台电脑,分别作为server端和client端,如果使用一个...
Iperf 带宽性能测试使用方法与参数说明
/CMS/Pub/special/special_fzjh/special_fzjh_yy/...
Iperf是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。利用Iperf这一...
原文:/hlz_2599/blog/static//
参考:http://man.linuxde.net/i...
 Iperf是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,
具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数...
网络模拟器WANem
命令行下显示LINUX多个网卡的实时流量MRTG或NAGIOS、bmon、dmstats
16:13:39|  分类: 工具 |  标签:ipe...
什么是Iperf?
    Iperf  是一个网络性能测试工具。Iperf可以测试最大TCP带宽,并可以报告UDP带宽,延迟抖动和数据包丢失。
1. 先把iperf-2.0....
嵌入式开发中网络性能测试工具iperf的使用方法和注意事项
什么是Iperf?
    Iperf  是一个网络性能测试工具。Iperf可以测试最大TCP带宽,并可以报告UDP带宽...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 无线ap信号强度范围 的文章

 

随机推荐