PerfDog性能狗上手体验及总结分析
Posted 我喝咖啡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PerfDog性能狗上手体验及总结分析相关的知识,希望对你有一定的参考价值。
一、PerfDog简介
- PerfDog性能狗是移动全平台ios\\android性能测试工具,快速定位分析性能问题,提升APP应用及游戏性能和品质,手机无需ROOT/越狱,手机硬件、游戏及应用无需做任何更改,极简化即插即用。
- PerfDog支持移动平台所有应用程序(游戏、APP应用、浏览器、小程序、小游戏、H5、后台系统进程等)、Android模拟器、云真机等性能测试。支持APP多进程测试(如Android多子进程及iOS扩展进程APP Extension)。
二、性能数据概览
以下做个人通俗解释,官方释义指路PerfDog官网-帮助中心(PerfDog | 移动全平台性能测试分析专家)
-
ScreenShot (截屏,只支持USB模式,对每步操作截屏记录,在之后的上传到云端的性能数据记录中会看到)
-
FPS (1秒内游戏画面或者应用界面真实平均刷新次数,俗称帧率/FPS)
-
InterFrame (部分机型具有动态补帧/插帧技术,此参数可真实反映1秒内插入的帧数)
-
Jank (1S内卡顿次数)
-
Stutter (测试过程中,卡顿时长的占比)
-
FTime (上下帧画面显示时间间隔,即认为帧耗时)
-
CPU Usage(传统CPU利用率,也叫未规范化CPU利用率,TotalCPU表示整机未规范化CPU使用率,AppCPU表示进程未规范化CPU使用率。)
- CPU Clock (各个CPU核心的未规范化频率和未规范化使用率)
- Memory (物理内存)
- Swap Memory (类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率。Swap Memory,部分设备支持Swap功能,在启用Swap功能后,系统会对PSS内存进行压缩,Swap增加,PSS会相应减少,由于压缩会占用CPU资源,同时相应会导致FPS降低)
- Virtual Memory (VSS) 虚拟内存
- Available Memory (整机可用剩余内存)
- Memory Detail (NativePSS、GFX、GL、Unknown,极限测试情况下开启可能会造成性能损耗)。
- GPU Usage
- GPU Frequency
- Network(Recv/Send,测试目标进程流量)(注:USB/WiFi测试模式下均为APP数据)
- CTemp(CPU温度)
- Battery Power(仅WIFI模式,Current电流、Voltage电压、Power功耗)
- Log日志采集(WIFI模式下,不支持Log收集
三、实践
- 以目前博主所在项目app为例,对于两个场景(称为A和B)进行USB录制并输出性能数据结果。
- 安装PerfDog并启动,本次测试用USB连接测试机。(过程就不赘述了,傻瓜式安装)
- 手机app操作A测试流程,记录性能数据
- 测试结束点击结束按钮,上传报告至云端
四、测试用例设计及最后的结果分析
因为只实际操作了Android系统的应用,所以暂时只讨论Android端app情况,ios系统有兴趣的小伙伴可以实践下。
- 针对用户量不大、流程场景不复杂的应用,此工具的实用性不大,可用jmeter设置代理录制脚本然后通过编辑脚本和控制并发数等,实现一些性能测试;对耗电量和内存等需求比较明显的应用,比如上传照片或者拍摄视频时会耗电耗内存,可用PerfDog来监测数据。
- 针对用户量一般,但流程场景较复杂的应用,例如移动端手游,在一些核心任务功能、访问量最大的功能、切换场景、挂机重进等情况,PerfDog可以监测一些性能,如上面开始提到的FPS过程中是否掉帧,Memory在场景中是否内存泄露导致卡顿或者闪退,以及其他的性能,在这里就不过多举例。
- 对于输出的性能结果数据,为了方便分析和定位,可以在录制过程中对脚本进行打点记录,标记过程名称,这样就可以在最后生成的图表让结果和过程清晰的对应起来。其中明显的耗电量升高和内存泄露等缺陷,可直观体现出来并且后续不断复现进而直接定位问题;得到的性能数据可以全部导出为原始数据,然后按实际测试需要二次加工成表格或者图表,方便分析定位。
五、总结
- 易上手,数据展现清晰明了,可查看全部性能数据,可拖动图表按时间查看;
- 案例上传云端,方便管理与分享,可按条件搜索,可导出二次加工成图表;
- 工具收费,贵;
- 若出现问题无法及时定位;
- 对手游类app实用性较大,可通过不同场景、模块切换等分析掉帧情况,以及内存泄漏、耗电、CPU等数据分析;
以上是关于PerfDog性能狗上手体验及总结分析的主要内容,如果未能解决你的问题,请参考以下文章