在十一月初,腾讯就官宣了一则音讯,腾讯WeTest明星工具-PerfDog面向寰球公布。官宣介绍如下:https://wetest.qq.com/lab/vie...。我在看到该新闻时,有种大开眼界的感觉,挪动端的性能测试原来能够这么简略。明天空闲之余,来了一波初探,简略体验了一番。

软件性能数据采集

咱们先来理解下通过该工具能采集到哪些性能数据:

PerfDog反对挪动平台所有应用程序(游戏、APP利用、浏览器、小程序等)及Android模拟器,桌面应用程序PerfDog反对在Windows和Mac机器应用运行。在iOS和Android平台获取性能参数如下:

iOS平台 (与苹果官网Xcode工具参数对齐统一)

  • Screenshot
  • FPS(1秒内游戏画面或者利用界面实在均匀刷新次数,俗称帧率/FPS)
    1) Avg(FPS):均匀帧率(一段时间内均匀FPS)
    2) Var(FPS):帧率方差(一段时间内FPS方差)
    3) Drop(FPS):降帧次数(均匀每小时相邻两个FPS点降落大于8帧的次数)
  • Jank(1s内卡顿次数。iOS9.1以下零碎临时不反对。相似Android的Jank卡顿和iOS的FramePacing平滑度统计原理。帧率FPS高并不能反映晦涩或不卡顿。比方:FPS为50帧,前200ms渲染一帧,后800ms渲染49帧,尽管帧率50,但仍然感觉十分卡顿。同时帧率FPS低,并不代表卡顿,比方无卡登时平均FPS为15帧。所以,均匀帧率FPS与卡顿无任何间接关系)
    PerfDog计算方法:同时满足两条件,则认为是一次卡顿Jank.
    1、 以后帧耗时>前三帧均匀耗时2倍。
    2、 以后帧耗时>两帧电影帧耗时(1000ms/24*2=84ms)。
    同时满足两条件,则认为是一次重大卡顿BigJank.
    1、 以后帧耗时>前三帧均匀耗时2倍。
    2、 以后帧耗时>三帧电影帧耗时(1000ms/24*3=125ms)。
    计算思路:思考视觉惯性,假如以前三帧的均匀帧耗时为参考,作为vsync工夫距离,间断两次vsync没有新渲染画面刷新,则认为是一次潜在卡顿,也就是说下一帧耗时大于前三帧均匀帧耗时2倍,则认为一次潜在卡顿。同时单帧耗时满足大于两倍电影帧耗时1000ms/24*2 (因为人眼低于24帧能力分别画面不连续性),则认为是一次真正卡顿。同时若单帧耗时大于3倍电影帧耗时,则认为是一次重大卡顿。
    注解:为什么是两次vsync?GPU个别是3重缓冲buffer,以后帧已占用一个buffer,即残余2缓冲buffer,人眼个别可容忍2帧提早。 为什么是两帧电影帧耗时?低于24帧画面,人眼就能感知到画面不连续性,电影个别都是24帧。即电影帧耗时1000ms/24=41.67ms,两帧电影帧耗时也就是41.67ms2,三帧电影帧耗时是41.67ms3。
    1) BigJank:1s内顿重大卡次数
    2) Jank(/10min):均匀每10分钟卡顿次数。
    3) BigJank(/10min):均匀每10分钟重大卡顿次数
  • FTime(高低帧画面显示工夫距离,即认为帧耗时,iOS9.1以下零碎临时不反对。)
    1) Avg(FTime):均匀帧耗时
    2) Delta(FTime):增量耗时(均匀每小时两帧之间时间差>100ms的次数)
  • CPU Usage(Total整机/App过程,统计后果合Xcode统一)
  • Memory (是统计FootPrint,注:OOM与FootPrint无关,与零碎、机型无关。只与RAM无关,如1G内存机器。FootPrint超过650MB,引发OOM)。受iOS平台限度,临时无奈获取ios10及以下零碎的memory。后续版本减少。如做性能测试,倡议降级iOS零碎版本
  • Xcode Memory (XCode Debug Gauges统计形式即XCode Memory)。受iOS平台限度,临时无奈获取ios10及以下零碎的Xcode Memory。后续版本减少。如做性能测试,倡议降级iOS零碎版本
  • Real Memory(Xcode Instrument统计形式即Real Memory,理论占用物理内存。注:物理内存与零碎策略无关,关注意义不大)
  • Virtual Memory(虚拟内存)
  • Wakeups(线程唤醒次数)。注:超过150过程很大可能会被零碎kill
  • CSwitch(上下文切换测试)。注:单核超过14000过程会被零碎Kill
  • GPU Utilization(Render/Tilter/Device)
    1) Render:渲染器利用率(像素着色解决阶段,若占比高,阐明是PS阶段呈现瓶颈,shader过于简单或纹理大小、采样简单等)
    2) Tilter:Tilter利用率(顶点着色解决阶段,若占比高,阐明是VS阶段呈现瓶颈,顶点数太多等起因)
    3) Device:设施利用率(整体GPU利用率)
  • Network(Recv/Send,测试指标过程流量,和Xcode后果统一)
  • Battery Power(整机实时Current电流、Voltage电压、Power功率)(注:和Xcode Instrument后果统一)
  • Log(零碎调试日志信息)

Android平台

  • Screenshot
  • 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(Total整机/App指标过程,统计后果和Android Studio Profiler统一)
  • CPU Clock(各个CPU外围的频率和使用率)
  • Memory (PSS Memory,统计后果和Android Java API规范后果统一,与Meminfo也统一。注:局部三星机器零碎批改了Meminfo底层统计形式,导致Meminfo与Java AP统计后果不统一,新出三星机器已修复)
  • Swap Memory (Swap Memory)
  • Virtual Memory
  • Memory Detail(NativePSS、GFX、GL、Unknown)
  • GPU Usage(目前仅反对高通芯片手机)
  • GPU Frequency(目前仅反对高通芯片手机)
  • Network(Recv/Send)
  • CTemp(CPU温度)
  • Battery Power(Current电流、Voltage电压、Power功率)(注:与仪器测试误差<3%左右)
  • Log(零碎调试日志信息)

上述内容来自官网应用文档。咱们理解了参数,就理论来操作一下吧。对于工具的介绍,网络上都有,我就联合本人的理论体验来说吧。

应用的根本流程

在本人实际应用时,根本流程如下:

1.注册账号(只有注册账号后能力下载安装包)

2.下载安装包并解压

3.在perfdog后盾创立测试项目

4.关上可执行文件PerfDog.exe

5.应用注册的账号登录

6.应用usb将手机和电脑连贯(不能锁屏,开启调试模式)

7.抉择连贯模式(wifi还是usb)

8.抉择app利用列表

9.配置要监控的数据

10.开始记录数据

11.操作对应app

12.进行记录数据(不能少于10S)

13.上传记录数据

14.进入perfdog后盾查看性能数据

流程介绍

前五步操作就不讲述了,大家都懂。咱们间接从第六步说起,我应用的是ios设施。

连贯设施

iOS: 则即插即用,用户无需做任何操作。

Android: 有两种模式,非装置模式和装置模式。

  • a. 非装置模式:手机即插即用,无需任何设置及装置,应用非常简单,但手机屏幕上没有实时性能数据显示。
  • b. 装置模式:须要在手机上主动装置PerfDog.apk,手机屏幕上有实时性能数据显示。(请开启Debug调试模式、容许USB装置和PerfDog悬浮窗管理权限),启动PC版PerfDog.exe,则会在手机上主动PUSH装置PerfDog.apk,具体装置相似各个手机厂商装置第三方APP提醒装置即可。(注:因为很多手机装置须要账号密码,导致无奈主动装置,如果主动装置失败,则会把安装文件PerfDog.apk开释到以后文件夹里,手动装置PerfDog.apk即可)。

这里重点阐明下Android平台下,LMK和Swap这两个参数意义:

LMK:Android平台下OOM与游戏过程内存大小无关,次要是零碎残余物理内存无关。零碎残余物理内存小于LMK,则会引起OOM。

Swap: 零碎过程用到zram/vnswap内存压缩技术。不同手机零碎启用Swap memeroy大小不同。

测试模式

通过usb连贯电脑后,呈现如下界面,能够抉择测试模式:

USB模式测试:

  USB连线,在设施列表抉择USB图标设施进行USB模式测试(插线模式测试功率无任何意义)。

WIFI模式测试(测试功率):

  USB连线后,在设施列表抉择WIFI图标设施进行WIFI模式测试。WIFI检测连贯胜利后,拔掉USB连接线。(注:须要PC和被测手机连贯同一WIFI,WIFI检测连贯胜利后,拔掉被测手机USB线(插线模式测试功率无任何意义))。

在实践中,USB和WiFi模式我都有应用。抉择模式后,界面会展现设施的详细信息,如下:

抉择测试利用

抉择模式后,则能够抉择要测试的利用了(以后手机中的所有app都能够被抉择),如下页面:

抉择对应被测利用,并操作对应的app,界面展现如下:

留神点:Android平台,装置模式下,手机屏幕左上角有实时性能数据显示(Android手机请关上PerfDog悬浮窗管理权限,否则手机上不会显示性能参数)。

开启悬浮权限

android设施中的界面性能参数显示如下:

性能介绍

1.性能参数配置

性能参数可在界面中配置,点击界面中的+号即可,如下:

①点击对应条目参数,色彩会变深,图表数据则会展现在界面中

②勾选对应条目参数,示意须要收集该数据

2.记录保留

点击右侧的蓝色开始按钮,则示意在记录数据,如下:

须要留神的是:记录时间不能少于10S。少于10S,则会提醒如下信息:

点击按钮后,记录会进行记录并保留数据,如下:

2.1 提交记录到perfdog后盾

能够批改名称,点击confirm,数据会上传到perfdog的后盾,如下:

能够查看具体的性能数据,如下所示:

2.2 记录保留到本地

勾选保留按钮,数据就会保留到本地,如下:

能够关上excel文件查看对应的性能数据:

3.数据回放

点击perfdog界面上的文件夹按钮,抉择对应的本地数据,即能够回放记录,操作如下:

可在界面查看回放后果,如下:

4.批注及标定

双击鼠标左键,减少批注,再次双击,则勾销批注。

单击鼠标左键,则减少标定,再次点击则从新标定。

减少了批注和标定的界面如下所示,红色为批注,淡紫色为标定:

5.性能参数剖析

5.1 数据统计

能够抉择一个时间段内的数据,进行统计,如下:

5.2 设置性能参数统计分析阈值

在perfdog界面中的setting下,能够配置,如下:

5.3 保留框选数据

对某一时间段内的数据框选后,能够独自保留片段,在框选范畴内,右键即可,如下:

6.场景标签

通过标签按钮给性能数据打标签,鼠标左键双击色彩区域可批改对应区域标签名

7.日志记录

在perfdog界面,能够查看对应日志,也能够设置查看日志的等级,如下:

在尝试WIFI模式时,发现log按钮勾选不了。

8.进行性能

进行测试利用,不须要拔掉数据线,或者断开连接,在抉择利用的界面中,抉择NULL即可,如下:

9.截图录屏

连贯安卓设施,并应用装置模式,可配置截屏参数,如下:

界面就会记录操作的过程,如下所示:

如此记录是不是很明了?但这种用法会影响性能参数,理论用处中不举荐。如果感觉陈腐,能够尝试应用即可。

PerfDog后盾应用

1.邀请人员

能够邀请对应人员一起保护测试项目

2.数据共享

数据共享后,能够在工作数据中查看明细,可按android、ios辨别,以及app包的版本,设施版本来查看。

应用留神点

1.设施连贯

iOS: 若PerfDog检测不到连贯手机或无奈测试,请先装置确保最新iTunes是否能连上手机。

Android: 请开启手机Debug调试模式及容许USB装置。

2.截图记录影响性能

截屏记录影响性能(整体FPS影响<=1。小米5:CPU=1%左右。IPhone7P:CPU<2%),若无需请不要开启截屏。

总结

应用PerfDog工具下来,整体有以下几点感触。

1.对性能指标的测试,更加便捷;

2.易操作

3.记录反对回放

4.数据便于管理与查看

PerfDog工具是款不错的性能测试工具,点赞一波。

原文:https://www.cnblogs.com/hong-...

性能测试技术交换群:720150565

查看PerfDog详情:https://perfdog.qq.com/?ADTAG...