App流量测试--使用安卓自身提供的TCP收发长度统计功能

Posted #天羽Owl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了App流量测试--使用安卓自身提供的TCP收发长度统计功能相关的知识,希望对你有一定的参考价值。

在Linux系统有3个地方保存流量统计文件,对于android系统同样也适用:

(1)在/proc/net/dev下可以查看各个网络接口的收发流量  (等同adb shell cat /proc/pid/net/dev,adbshell cat /sys/class/net/wlan0/statistics/rx_bytes)

(2)在/sys/class/net/下可以找到相关类别(如wlan0)的目录.在其子目录statistics下游rxbytes和txbytes记录收发流量

(3)在/proc/uid_stat/{uid}/tcp_rcv记录该uid应用下载流量字节,/proc/uid_stat/{uid}/tcp_snd有该uid应用上传流量字节

介绍5个地方统计的流量异同点如下:

推荐使用顺序:D > E > C > A> B

推荐D和E(其他的方法自己可以根据提示的adb命令进行练习)

注意:android4.0以上版本可以用/proc/uid_stat/$uid/tcp_rcv和/proc/uid_stat/$uid/tcp_snd来获取某个程序的上下行流量;而4.0以下版本要用cat/proc/$pid/net/dev来查看上下行流量。uid和pid的关系,可以从/data/system/packages.list这个文件中获取,但是/proc/uid_stat/$uid这种方式,在Android 6.0系统中部分厂商可能是做了某些修改,在proc目录下没有显示uid_stat文件夹。

 

所测时间内的流量计算

发送流量:tcp_snd_new-tcp_snd_old=2032150-893233=1128917bytes

接收流量:tcp_rcv_new-tcp_rcv_old=18648825-1350829=17297996bytes

 

以上是关于App流量测试--使用安卓自身提供的TCP收发长度统计功能的主要内容,如果未能解决你的问题,请参考以下文章

APP性能测试指标和测试方法

APP性能测试 -----GT软件使用

无线专项测试--流量测试(上)

wireshark网络实战分析二

安卓7.0+https抓包新姿势(无需Root)

求推荐一个测试APP端的性能测试工具(cpu,内存,流量)