网络测试的几个维度:

  1. 网络的性能
    • 带宽:通过TCP测试来量度
    • 时延:用ping命令量度
    • 数据报丢失:用Iperf UDP测试来量度
    • Jitter(延时变化):用Iperf UDP测试来量度
    • 信号强度(WIFI下):使用Network Signal Info可以查看
  2. 网络的稳定性
  3. 可以在连续的测试中观察网卡的稳定性,使用工具进行大量的网络访问请求来达到压力测试的目的

网络测试工具

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设备网络压力测试的更多相关文章

  1. Android设备网络、屏幕尺寸、SD卡、本地IP、存储空间等信息获取工具类

    Android设备网络.屏幕尺寸.SD卡.本地IP.存储空间.服务.进程.应用包名等信息获取的整合工具类. package com.qiyu.ddb.util; import android.anno ...

  2. 使用Vulcan工具构建真实的业务负载进行网络压力测试,满足SD-WAN,White-box Switch的Performance,QoE,SLA测试要求

    工具链接#  https://xenanetworks.com/vulcan/ 使用Vulcan工具,可构建真实的业务负载进行网络压力测试 满足Performance,QoE,SLA等测试要求 硬件指 ...

  3. 使用MonkeyTest对Android客户端进展压力测试

    Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试. 先来看一条 ...

  4. 使用MonkeyTest对Android客户端进行压力测试 自动化代码

    1.monkey命令简介 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序 ...

  5. 使用MonkeyTest对Android客户端进行压力测试

    目录 monkey命令简介 monkey命令参数说明 自动化实例 如何通过日志定位问题   1.monkey命令简介 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它 ...

  6. [Android] [putty连接Android设备] [Android设备网络调试]

    file: system/core/adb/adb.c line: 921 /* for the device, start the usb transport if the ** android u ...

  7. Android命令Monkey压力测试,详解

    一.Monkey 是什么?Monkey 就是SDK中附带的一个工具. 二.Monkey 测试的目的?:该工具用于进行压力测试. 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出 ...

  8. 转:Android命令Monkey压力测试,详解

    停止Monkey命令: 1. ps命令  查找uiautomator的进程 打开cmd命令行窗口 输入: adb shell ps | grep monkey 返回来的第一个数字,即是monkey的进 ...

  9. 用nc做网络压力测试

    测试结果:         1.数据的收发正常,没有出现丢包:         2.平均数据接发速率为:112MB/S,基本用完的千兆带宽.   测试方法:         1.通过FTP拷贝3.6G ...

随机推荐

  1. value power two

    /** *topPower2 use to set unsigned int to power of two *@param value input value *@return return the ...

  2. AngularJS $timeout和 $interval ,定时器手机验证码倒计时

    $interval是 window.setInterval的Angular包装形式.$interval指每次延迟时间后执行响应的函数(也可以说:每次执行函数的间隔时间).$interval多数用于计时 ...

  3. JavaScript设计模式-16.装饰者模式(上)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. 计算2..n的素数

    def check(2) , do: true def check(n) when n >2 do b = for x <- (Enum.into 2..n-1,[]),do: x if ...

  5. Linux下Tomcat8.0.44配置使用Apr

    听说Apr可以提高tomcat很多的性能,配置具体如下 1.安装apr 1.5.2 [root@ecs-3c46 ]# cd /usr/local/src [root@ecs-3c46 src]# w ...

  6. Freemarker不显示对象的属性

    Freemarker不显示对象的属性 今天使用Freemarker在springboot项目中通过模板生成一些html文件.但是发现没有显示对象的属性. 找了很长时间,终于发现不显示对象的属性可能是两 ...

  7. Unix/Linux文件类型及访问权限

    在Linux系统中,有7种文件类型. 普通文件 (regular file) 目录文件 (directory) 链接文件 (symbolic link) 管道文件 (FIFO) 套接字文件 (sock ...

  8. HDU 6187 Destroy Walls

    Destroy Walls Long times ago, there are beautiful historic walls in the city. These walls divide the ...

  9. SpringCloud - RestTemplate 的三种使用方式

    1. 直接使用 RestTemplate restTemplate = new RestTemplate(); String result = restTemplate.getForObject(&q ...

  10. Form身份验证

    Forms身份验证Web.config<system.web><authentication mode="Forms">            <fo ...