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
Android设备网络压力测试的更多相关文章
- Android设备网络、屏幕尺寸、SD卡、本地IP、存储空间等信息获取工具类
Android设备网络.屏幕尺寸.SD卡.本地IP.存储空间.服务.进程.应用包名等信息获取的整合工具类. package com.qiyu.ddb.util; import android.anno ...
- 使用Vulcan工具构建真实的业务负载进行网络压力测试,满足SD-WAN,White-box Switch的Performance,QoE,SLA测试要求
工具链接# https://xenanetworks.com/vulcan/ 使用Vulcan工具,可构建真实的业务负载进行网络压力测试 满足Performance,QoE,SLA等测试要求 硬件指 ...
- 使用MonkeyTest对Android客户端进展压力测试
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试. 先来看一条 ...
- 使用MonkeyTest对Android客户端进行压力测试 自动化代码
1.monkey命令简介 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序 ...
- 使用MonkeyTest对Android客户端进行压力测试
目录 monkey命令简介 monkey命令参数说明 自动化实例 如何通过日志定位问题 1.monkey命令简介 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它 ...
- [Android] [putty连接Android设备] [Android设备网络调试]
file: system/core/adb/adb.c line: 921 /* for the device, start the usb transport if the ** android u ...
- Android命令Monkey压力测试,详解
一.Monkey 是什么?Monkey 就是SDK中附带的一个工具. 二.Monkey 测试的目的?:该工具用于进行压力测试. 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出 ...
- 转:Android命令Monkey压力测试,详解
停止Monkey命令: 1. ps命令 查找uiautomator的进程 打开cmd命令行窗口 输入: adb shell ps | grep monkey 返回来的第一个数字,即是monkey的进 ...
- 用nc做网络压力测试
测试结果: 1.数据的收发正常,没有出现丢包: 2.平均数据接发速率为:112MB/S,基本用完的千兆带宽. 测试方法: 1.通过FTP拷贝3.6G ...
随机推荐
- po'j2559 Largest Rectangle in a Histogram 单调栈(递增)
Largest Rectangle in a Histogram Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 29498 ...
- 开发者必备的12个JavaScript库
现在 web 设计是最有趣的了,做好 web 设计不仅要熟练使用 Javascript,css 和 html 等,还要有自己的创意设计.为了方便大家发挥自己的创意,就产生了很多 JS 框架,Node. ...
- 【Eclipse】在Project Explore中隐藏不需要显示的文件
右击项目->Resource->Resource Filters->AddFilter type: Exclude allApplies to : Files (All childr ...
- hr中间插入字体
修饰CSS:hr:before { content: "??";} hr:after { content: " This is an <hr> element ...
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
- 转自IBM:Apache HTTP Server 与 Tomcat 的三种连接方式介绍
http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/index.html 整合 Apache Http Server ...
- Orchard源码:缓存设计
概述 从缓存失效的几种方式开始了解Orchard缓存设计 1.设置失效时间 Func<int> retrieve = () => _cacheManager.Get("te ...
- 根据Time Protocol从NIST Internet Time Servers获取准确时间
Time Protocol(RFC-868)是一种非常简单的应用层协议:它返回一个32位的二进制数字,这个数字描述了从1900年1月1日0时0分0秒到现在的秒数,服务器在TCP的37号端口监听时间协议 ...
- GridFS使用及配合nginx实现文件服务
Mongodb下GridFS使用及配合nginx实现文件服务 一.GridFS简介 GridFS是mongodb下用来存储文件的一种规范,所有官方支持的驱动均实现了GridFS规范. Mongodb本 ...
- 简单封装axios api
可以在代码逻辑中写axios请求,处理请求结果,但是随着项目越来越大,代码会很繁琐,不容易维护,所以,可以把一些在所有请求中都要处理的逻辑抽取出来,封装成api方法.比如每次请求中都要判断是否有权限, ...