移动端性能测试工具——perfdog

一、前言

    最近由于业务需要,需要关注移动端的性能指标,但是市面上的工具大多是关注手机整体指标的,很少有可以查看被测app的指标数据的,找来找去,终于找到了一款合适的测试工具——perfdog。(本文以一次测试流程来讲解perfdog的基本使用,更多的细节操作,可去官网社区查看官方文档。或联系作者764527244进行技术讨论)

    perfdog是腾讯研发的一款移动端性能测试工具,这款工具集多项优点于一身:界面友好,操作简洁,手机无需ROOT/越狱,支持全平台,就我个人经验来说,是目前接触到的最优秀的一款移动端性能测试工具了。

二、基本使用(perfdog支持全平台,本篇以Android为例):

步骤1:登录perfdog官网https://perfdog.qq.com,下载客户端,目前支持windows和mac。下载之后无需安装,直接打开客户端。注册登录之后,就能进入主页了。

步骤2:安卓手机连接电脑,(需要先开启手机USB调试模式或开发者模式)

当电脑检测到手机后,有两种测试模式可选:USB模式测试和WIFI模式测试。

本次选择USB测试模式。

选择好测试模式之后,就可以选择手机里的游戏or应用作为被测对象。

比如我选择了王者荣耀作为测试对象

选择测试对象之后打开王者荣耀,就会看到客户端开始记录一系列数据,如果想把这些数据保存下载,需要点击右上角的开始录制按钮。

如果目前显示的数据没有你需要的,点击右下角的“+”号按钮进行添加即可。

录制过程中如果有需要的话,还可以对数据进行批注,只需要在数据任意位置双击,即可创建批注。

如果想取消批注,在批注顶部双击就行了。

录制完成之后,点击右边的停止按钮,即可完成本次录制。(点击停止后会自动跳出保存录制数据的弹窗)

弹窗中勾选upload,就是上传数据到服务器,可以登录perfdog官网去回看本次录制的数据,该数据在个人中心里可以很容易找到。也可以保存到本地,在本地打开查看数据。

至此,在perfdog上的一次完整测试流程结束。

 

最后,附上perdog上各测试指标的含义:

ScreenShot(只支持USB模式)

FPS(1秒内游戏画面或者应用界面真实平均刷新次数,俗称帧率/FPS)

    1)      Avg(FPS):平均帧率(一段时间内平均FPS)

    2)      Var(FPS):帧率方差(一段时间内FPS方差)

    3)      Drop(FPS):降帧次数(平均每小时相邻两个FPS点下降大于8帧的次数)

Jank(1S内卡顿次数。解释说明如iOS平台说明)

    1)      BigJank:1s内严重卡顿次数

    2)      Jank(/10分钟):平均每10分钟卡顿次数。

    3)      BigJank(/10分钟):平均每10分钟严重卡顿次数

FTime(上下帧画面显示时间间隔,即认为帧耗时)

    1)      Avg(FTime):平均帧耗时

    2)      Delta(FTime):增量耗时(平均每小时两帧之间时间差>100ms的次数)

CPU Usage(传统CPU利用率,也叫未规范化CPU利用率,TotalCPU表示整机未规范化CPU使用率,AppCPU表示进程未规范化CPU使用率。)

 CPU Usage (Normalized)(规范化CPU利用率,TotalCPU表示整机规范化CPU使用率,AppCPU表示进程规范化CPU使用率。CPU Clock(各个CPU核心的未规范化频率和未规范化使用率)

CPU Clock (Normalized) (各个CPU核心的规范化频率和规范化使用率)

Memory (PSS Memory,统计结果和Android Java API标准结果一致,与Meminfo也一致。)

Swap Memory (Swap Memory,部分设备支持Swap功能,在启用Swap功能后,系统会对PSS内存进行压缩,Swap增加,PSS会相应减少,由于压缩会占用CPU资源,同时相应会导致FPS降低)

Virtual Memory(VSS)

Memory Detail(NativePSS、GFX、GL、Unknown)

 GPU Usage(目前仅支持部分高通芯片手机)。

GPU Frequency(目前仅支持部分高通芯片手机)。

Network(Recv/Send,测试目标进程流量)

CTemp(CPU温度)

Battery Power(Current电流、Voltage电压、Power功耗)(注:与仪器测试误差<3%左右)。注:Sum(Battery)是耗电量

Log日志采集(WIFI模式下,不支持Log收集)

 

本文参考文档(perfdog官方社区教程):https://bbs.perfdog.qq.com/article-detail.html?id=5