网络测试的几个维度:

  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. springboot: mybatis的使用

    第一步:引入mybatis依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifa ...

  2. C# 文件操作系列一

    在.Net环境中,所有关于文件操作的类都在System.IO命名空间下,注:在修改文件时,安全性显得格外重要,但是本随笔不过多讲述安全性,这里假设我们有足够的权限. 1.管理文件系统 先通过一幅图来了 ...

  3. Python 两种获取文件大小的方法

    import os r=os.path.getsize("/root/catbird1.stl") f=open("/root/catbird1.stl",&q ...

  4. jsf和facelets的生命周期

    一.JSF生命周期 JSF是基于事件驱动.JSF生命周期分为两个主要阶段:执行阶段和渲染阶段. 1.执行阶段 分为六个阶段: 恢复视图阶段 当客户端请求一个JavaServer Faces页面时,Ja ...

  5. [心平气和读经典]The TCP/IP Guide(004)

    The TCP/IP Guide [Page 44, 45, 46] Structure and Organization of The TCP/IP Guide | TCP/IP指南的组织结构 Yo ...

  6. concurrency基础

    Runnable 一个执行任务,没有返回值,也不能抛出受检查异常 Callable 一个执行任务有返回值,也能抛出受检查异常 Future 表示执行任务的生命周期,任务的生命周期为:创建,提交,开始, ...

  7. docker上安装nginx服务

    环境     1.开启一个容器,安装nginx,略过   2.假如第一步新启动没映射端口的话,重新把容器保存为镜像然后再重新运行一个新容器,不建议在一个正在运行的容器上做端口映射 docker run ...

  8. JSONP数据调用

     json 是一种数据格式  jsonp 是一种数据调用的方式. 什么是JSONP          为了便于客户端使用数据,逐渐形成了一种非正式传输协议,人们把它称作JSONP,该协议的一个要点就是 ...

  9. react-native-image-picker在IOS上总是返回”Can’t find variable:response”的错误?

    环境: react-native: 0.41.2 react-native-image-picker: 0.26.2 xcode 8.2.1 iphone 6 根据官方教程(https://githu ...

  10. shell脚本分析apache日志状态码

    一.首先将apache日志按天切割 vi /etc/httpd/conf/httpd.conf        ErrorLog "|rotatelogs /var/log/httpd/%Y% ...