Android设备网络压力测试
网络测试的几个维度:
- 网络的性能
- 带宽:通过TCP测试来量度
- 时延:用ping命令量度
- 数据报丢失:用Iperf UDP测试来量度
- Jitter(延时变化):用Iperf UDP测试来量度
- 信号强度(WIFI下):使用Network Signal Info可以查看
- 网络的稳定性
- 可以在连续的测试中观察网卡的稳定性,使用工具进行大量的网络访问请求来达到压力测试的目的
网络测试工具
ping
使用ping可以测试出网络的时延,但时延对于一个网卡来说并不是最重要的数据,所以可以不进行专门的测试,但是可以利用工具来对设备进行长时间,短间隔的Ping命令,达到压力测试网卡的目的。
Windows下可以使用pingtester工具,设置成10ms 连续模式进行ping包测试
iperf
Iperf是一款网络性能测试工具,可以方便的用它进行SDN网络带宽和网络质量的测试,Iperf支持协议、定时、缓冲区等参数的配置调整,报告TCP/UDP最大带宽、延迟抖动、数据包丢失等统计信息。
在Android设备上安装iperf的apk,在服务端(Mac、windows测试电脑)安装服务端工具 ,然后运行相应指令即可。
- iperf测试TCP
- Iperf测试TCP带宽的原理比较简单,在客户端和服务端建立三次握手连接后,客户端带宽的大小等于发送的总数据除以发送的总时间。对服务端测得的带宽,则是接收的总数据除以所花时间。
- TCP模式下简单举例:Server:iperf -s
- Client:iperf -c 10.0.0.1 -i 1
客户端到服务器10.0.0.1上带宽测试,每一秒钟打印一次信息。 - Iperf测试UDP
- Iperf测试UDP性能时,客户端可以指定UDP数据流的速率。客户端发送数据时,将根据客户端提供的速率计算数据报发送之间的时延。
- 客户端还可以指定发送数据报的大小。每个发送的数据报包含一个ID号,用来唯一标识报文,服务器端根据该ID号来确定数据报丢失和乱序。
- 当把UDP报文大小设置可以将整个报文放入IP层的包(packet)内时,那么UDP所测得的报文丢失数据即为IP层包的丢失数据,这提供了一个有效的测试包丢失情况的方法。
- 数据报传输延迟抖动 (Jitter)的测试由服务器端完成,客户发送的报文数据包含有发送时间戳,服务器端根据该时间信息和接收到报文的时间戳来计算传输延迟抖动。传输延迟抖动反映传输过程中是否平滑。由于它是一个相对值,所以并不需要客户端和服务器端时间同步。
- UDP模式下简单举例:Server:iperf -s -u
- Client:iperf -c 10.0.0.1 -u -b 100M
在UDP模式下,客户端以100Mbps为数据发送速率,测试客户端到服务器10.0.0.1上的带宽。 - iperf测试示例
- Android客户端iperf3 选项卡中输入 -s -d -i 30 (每20s输出报告) 命令启动服务
测试电脑服务端
iperf3 -c 192.168.2.136(换成相应IP地址) -t 43200(时间,单位秒) -P 10(线程数) - -u(使用UDP, 使用TCP请去掉这个参数)
- -b 2 (2Mbit/s,使用TCP请去掉这个参数) -i 20 (每20s输出报告) 命令
Network Signal Info
可以利用它来进行对比测试,在同一个WIFI信号或3G模式下。对比两台甚至多台机子在同一环境下的WIFI信号值、质量,以此得出WIFI测试下的性能。
原文地址:http://www.51test.space/archives/1949