1.iperf安装
1.1将iperf_PC.rar工具解压放在默认的盘目录下即可,无需安装
1.2安装iperf for android 2.06.apk"到手机端.
adb install iperf for android 2.06.apk
1.3对路由器的wifi进行性能测试
TCP
- 测量网络带宽
- 报告MSS/MTU值的大小和观测值
- 支持TCP窗口值通过套接字缓冲
- 当P线程或Win32线程可用时,支持多线程。客户端与服务端支持同时多重连接
UDP
- 客户端可以创建指定带宽的UDP流
- 测量丢包
- 测量延迟
- 支持多播
- 当P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows)。
测试举例:
设备(路由器)或随身wifi)开热点,电脑和手机连接同一个热点(无数据)针对wifi性能进行测试。测UDP丢包率时需要有数据连接。
测试单线程TCP(上行测试以发射为主)
在服务端运行iperf,输入命令 iperf –s –i 1 –w 1M
在客户端运行iperf,输入命令iperf –c 192.168.43.66 –i 1 –w 1M
PC: iperf –s –i 1 –w 1M
Client: iperf –c 192.168.43.66 –i 1 –w 1M
其中参数说明如下:
-c:客户端模式,后接服务器ip
-p:后接服务端监听的端口
-i:设置带宽报告的时间间隔,单位为秒
-t:设置测试的时长,单位为秒
-w:设置tcp窗口大小,一般可以不用设置,默认即可
TCP下行测试(以接收为主)
PC: iperf –c 192.168.43.66 –i 1 –w 1M
Client: iperf –s –i 1 –w 1M
PC
其中:Interval表示时间间隔。Transfer表示时间间隔里面转输的数据量。Bandwidth是时间间隔里的传输速率。最后一行是本次测试的统计。测试可知带宽平均为8.79Mbit/s。
client
测试单线程UDP,上行测试(以发射为主)
- 在服务端运行iperf,输入命令iperf –u -s并运行于udp模式
- 在客户端运行iperf,输入命令iperf –u –c 192.168.43.66 -b 900M -i 1 –w 1M –t 60,其中参数说明如下:
PC: iperf –u -s
Client: iperf –u –c 192.168.43.66 -b 900M -i 1 –w 1M –t 60
-c:客户端模式,后接服务器ip
-p:后接服务端监听的端口
-i:设置带宽报告的时间间隔,单位为秒
-t:设置测试的时长,单位为秒
-b:设置udp的发送带宽,单位bit/s
UDP下行测试(以接收为主)
PC: iperf –u –c 192.168.43.12 -b 900M -i 1 –w 1M –t 60
Client: iperf –u -s
PC
UDP下行测试(以接收为主)
其中,Jitter为抖动,lost/total为丢包数量,Datagrams为包数量。
数据如下所示:
未改tcp | "-i 1 -t 60" | | **带宽测试 | | |
机型 | M/S | 11n |
| ||
上行 | 下行 | 上行 | 下行 | 上行 | |
NEO2 | 10.2 | 11.9 | 10.7 | 11.6 | 10.5 |
未改udp | | | | | |
带宽数量 | 20M | 40M |
| ||
上行 | 下行 | 上行 | 下行 | 上行 | |
速率M/S | 10 | 14 | 7.9 | 13.4 | 8.49 |
丢包率 | 49% | 0% | 68% | 28% | 67% |
延时 | 0.983 | 1.449 | 2.073ms | 2.429ms | 7.908ms |
丢失 | 49497 | 0 | 86795 | 26294 | 88253 |
总包 | 100776 | 71662 | 127255 | 94376 | 131742 |
已改tcp | | | "-i5 -t 60" | | "-i 2 -t 60" |
机型 | M/S | 11n |
| ||
上行 | 下行 | 上行 | 下行 | 上行 | |
NEO2 | 4.16 | 3.48 | 7.28 | 6.36 | 4.78 |
已改udp | | | | | |
带宽数量 | 20M | 40M |
| ||
上行 | 下行 | 上行 | 下行 | 上行 | |
速率M/S | 3.11 | 7.02 | 6.25 | 7.37 | 2.04 |
丢包率 | 47% | 1.7% | 43% | 1% | 87% |
延时 | 10 | 3 | 3 | 3 | 83 |
丢包 | 12418 | 603 | 56370 | 502 | 74819 |
总包 | 26679 | 36410 | 47608 | 38085 | 85931 |
资源里包括windows的iperf.exe、android系统安装的iperf.apk和iperf使用说明参数等内容。
备注:
Iperf是一个网络性能测试工具。可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。
Iperf使用方法与参数说明
参数说明
-s 以server模式启动,eg:iperf -s
-c host以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23
通用参数
-f [kmKM] 分别表示以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
-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16
-m 显示tcp最大mtu值
-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o ciperflog.txt
-p 指定服务器端使用的端口或
客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999
-u 使用udp协议
-w 指定TCP窗口大小,默认是8KB
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包
server专用参数
-D 以服务方式运行iperf,eg:iperf -s -D
-R 停止iperf服务,针对-D,eg:iperf -s -R
client端专用参数
-d 同时进行双向传输测试
-n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000
-r 单独进行双向传输测试
-t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t
-F 指定需要传输的文件
-T 指定ttl值
==================
服务器端专用选项
-s, --server Iperf服务器模式
-c, --client host 如果Iperf运行在服务器模式,并且用-c参数指定一个主机,那么Iperf将只接受指定主机的连接。此参数不能工作于UDP模式。