关于人工智能:WeTest明星工具移动端性能测试PerfDog初探

58次阅读

共计 5375 个字符,预计需要花费 14 分钟才能阅读完成。

在十一月初,腾讯就官宣了一则音讯,腾讯 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…

正文完
 0