观察一段时间移动端性能测试工具perfdog,发现算法数据维度比较全面,导出数据十分方便,对手机权限要求少,进行首次尝鲜,希望下方实践给大家移动端性能测试一些参考价值。现在开始,GO~!

一、场景 视频播放

总时长压测 手动1h

总时长中,分隔成不同时间段(每隔10min),每个时间段内数据,进行横向对比

perfdog-tab命名规则 次数-时长-开始/结束

image.png

二、执行操作规则

进入芒果TV,完成登录/设置(避免其他弹窗/广告)

启动perfdog,选择芒果TV,完成设置

选择待测APP-芒果TV.png

点击开始录制

开始录制.png

录制中,依据数据选择规则,设置标签

点击tab1(命名:1-10-开始),自行进行10min闹钟(比如手机设备/流沙罐等,10分钟原因是 方案需要,小伙伴可以灵活调整时间)

10min后tab2(命名:2-10-开始)…直至,.tab6 (命名:6-10-结束)

或者不同闹钟,算好节点时间,0:16--10:16--20:16,依据时刻点,打点添加tab

双击添加tab.png

点击关闭录制

PS 如何确保时间间隔准确性,闹钟部分,下方角标可以查看具体时刻,精确到秒s

开始录制,进度条展示时间.png

三、导出整体数据

1.Tab1-Tab6,总体时间数据

导出数据.png

2.Tab1/tab2.Tab6 分别导出数据

拖曳选择区间后,右键选择save,完成数据上传和存放本地

四、数据分析

4.1 整体数据趋势分析

双击目标数据,进入结果页面

双击数据.png

结果页面.png

4.2 分析FPS结果

FPS整体趋势图.png

Frametime.png

观察结果页面,三项FPS/junk/bigjunk/FrameTime 数据趋势

FPS整体平稳,90%处于54--60区间内,说明流畅度处于比较好状态

tab区间(每隔10分钟)tab1 tab2 tab3 出现1次junk,tab4区间出现4次junk,基本是属于低FPS值(如图展示FPS40-48区间)

tab1 tab2 tab3 tab4对比实际场景,肉眼并未察觉卡顿,说明流畅度处于可接受状态,需要找到tab1 tab2 tab3 tab4 此时绘制场景图像

【后续措施】进行复测,评估此时间段内(05:50--06:00 17:00-18:00等出现junk区域关注) 绘制内容是否超量

4.观察FrameTime (两帧画面间隔耗时(也可简单认为单帧渲染耗时)),单帧耗时,可以发现,出现卡顿junk时间和FrameTime单帧绘制超时时间重合

进一步说明,FPS降低的愿意是绘制单帧界面数据超时(图中可以读取纵轴,部分>80ms 甚至>150ms)

【后续措施】进行复测,评估此时间段内 绘制内容是否超量

image.png

4.3 分析CPU结果

1.CPU Usage

CPU Usage(传统CPU利用率,也叫未规范化CPU利用率,TotalCPU表示整机未规范化CPU使用率,AppCPU表示进程未规范化CPU使用率。备注:统计结果和Android Studio Profiler一致。具体参考https://bbs.perfdog.qq.com/detail-146.html)

CPU.png

2.CPU Usage (Normalized)

CPU Usage (Normalized)(规范化CPU利用率)

TotalCPU表示整机规范化CPU使用率,AppCPU表示进程规范化CPU使用率。备注:建议参考规范化CPU利用率,性能参考更精准具体说明参考

如下图数据,CPU处于8~18%,低于第一警戒线30%,性能表现OK

CPU-normalized.png

CPU-温度

互娱类产品,由于用户使用时间长,需关注CPU温度,CPU温度越高,越影响性能数据

如下图数据,基本处于35°~38°之间,那么手机设备温度也受此影响,用户使用时操作体感发烫,体验一般

CPU-温度.png

4.4 分析内存memory结果

memory.png

??之前学的是 看PSS USS

PSS随着时间逐步升高,但其间变更处于360~480之间,也是可控???

vss虚拟内存处于平稳状态

4.5 选择不同tab数据进行对比分析

tab1 vs tab4

tab1 vs tab4.png

image.png

4.5.1 FPS/JUNK

tab1 比 tab4 junk少

tab1 vs tab4_FPS/JUNK.png

tab1 vs tab4_JUNK.png

tab1 vs tab4_Frametime.png

观察FPS/junk/FrameTime (两帧画面间隔耗时(也可简单认为单帧渲染耗时)),单帧耗时,可以发现,出现卡顿junk时间和FrameTime单帧绘制超时时间重合

进一步说明,FPS降低的愿意是绘制单帧界面数据超时(图中可以读取纵轴,部分 甚至>150ms),这些时间段内需要重点关注,是否出现卡顿

4.5.2 CPU

下图数据,说明tab1 vs tab4绘制,tab1波峰,tab4波谷或者平稳横线,说明两者绘制趋势不同,可能因为本来每帧绘制内容不同

但是整体都处于可控区域 tab1 8~14,tab4 7~12

tab1 vs tab4_CPU.png

tab1 vs tab4_CPU_normalized.png

4.5.3 memory

下图数据没有看懂

和cpu数据趋势一样,tab1 vs tab4绘制,tab1波峰,tab4波谷或者平稳横线,说明两者绘制趋势不同,可能因为本来每帧绘制内容不同

image.png

vss tab1 是刚启动,从低到高,爬坡过程,正常;tab4是中间阶段,vss处于平稳状态,正常

memory_vss.png

五、反思结果

5.1 更快定位APP实际场景

当发现部分区域阶段有问题,如何更快的定位APP实操场景

perfdog直接开启 shootshoot 功能

perfdog_shootshoot.png

弊端是,开启shootshoot会加大性能损耗,影响性能数据,对测试结果有影响

如果前期对FPS要求没有那么精准,可以开启shootshoot,方便一次性定位性能问题对应的APP场景

APP性能场景搭建,增加其他录像功能

可拍照手机/设备,可录制 待测性能的APP界面+跑马灯设备+PC端运行perfdog工具

当perfdog数据需要对应APP界面场景,可以直接拿到数据

5.2 执行反思

1.操作顺序不能出错,降低由于人为操作造成的数据误差

Ex 开始打标签时,没有录制开始,此时没有数据,虽然差一会,也影响最后性能结果数据

2.分隔好后自动导出数据,拖曳选中区间,比较难,也怕出错

3.如何能一次场景 自动定义时间间隔,比如总体xxh,自定义每隔xxmin 把数据分隔出来,进行对比(类似jira那样的流程,工具选择时间间隔)

5.2 性能指标

后续仍需查性能指标,积累更多参考价值

手游FPS的性能指标,CPU指标,内存指标

视频FPS的性能指标,CPU指标,内存指标

如果没有找到行业统一标准,则选择团队内稳定版本&稳定模块,收集一波基线数据

芒果TV公司软件测试,perfdog-芒果tv视频-性能测试实践相关推荐

  1. 芒果TV的2020:在长视频界放下野心

    今年风头最盛的长视频平台,莫过于芒果TV了. 作为新媒体头部国家队,芒果TV在2020迎来了强势的发展.今年推出多部爆款综艺,剧集,在湖南卫视的鼎力支持下,今年年中,芒果超媒市值一度高过爱奇艺,引发了 ...

  2. apple tv 开发_您应该从Apple TV 3升级到Apple TV 4还是4K?

    apple tv 开发 If you're still stuck in the dinosaur ages with your Apple TV 3, you might be curious ab ...

  3. Android TV框架 TIF(Android TV Input Framework)入门实践

    Tamic/CSDN http://blog.csdn.net/sk719887916/article/details/53645615 做TV开发一段时间了,国内目前关于这方面的资料并不多,这里我来 ...

  4. Maximum.TV 发布西班牙语Silverlight TV网站

    Maximum.TV 发布西班牙语Silverlight TV网站 Maximum.TV(观看需要美国代理)发布了一个采用Silverlight技术开发的视频网站. 这是一个了不起的采用IIS平滑流媒 ...

  5. 华数tv直播android,华数tv电视版apk下载-华数TV电视版下载v5.0.0.55 官方最新版__西西安卓tv下载...

    华数tv电视版是华数针对智能电视打造的视频应用,安装了华数TV的智能电视可享受免费高清正版电影.电视剧内容.华数TV实时更新最新的院线大片,与电视台同步上线最新剧集内容,以高清影像.最新内容让用户获得 ...

  6. Android TV Input Framework(Android TV 一)

    前言 Android TV是Android 5.0新的内容,当前国内的智能电视大部分都是基于Android系统的,Android TV作为事实上的标准,它的推出必将极大的影响下一代智能电视的开发. 近 ...

  7. Google TV,不只是一部TV

    Google选择和SONY合作生产Google TV,这是正确的选择之一.比起三星.HITACHI等知名TV生产商,SONY的产品让人更值得依赖.Google是想靠SONY在TV业界的高知名度和高可信 ...

  8. 关于编写公司软件测试规范操作手册计划书

    1.前言 本文档主要描写对该计划的前期阐述,说明其重要性与操作过程的前期计划.着重点描述未来 <本公司软件测试规范操作手册>的深度与可操作性等问题. 2.为什么要编写此规范手册 首先从公司 ...

  9. 快手王华彦:端上视觉技术的极致效率及其短视频应用实践 | AI ProCon 2019

    演讲嘉宾 | 王华彦(快手硅谷Y-tech实验室负责人) 编辑 | Just 出品 | AI科技大本营(ID:rgznai100) 快手用户日均上传1500万个视频,要把这些作品准确的分发给超2亿活跃 ...

最新文章

  1. VTK:隐式二次元用法实战
  2. android如何编译出带符号表的.so库
  3. mysql外键设置sql语句,SQL Server 2008之SQL语句外键
  4. 磁盘阵列——RAID0制作方法
  5. 一个软件公司需要多少前端_内幕!软件外包公司开发一个软件需要多少钱?
  6. Vision GUI programming products
  7. qlv文件怎么转换成mp4_flv怎么转换成MP4格式
  8. 15拆分成3个不同的自然数_素数大概有多少个?15岁的高斯翻过素数表之后给出了答案...
  9. Windows wmic命令之process进程管理
  10. pip镜像网站及使用方法
  11. Python拓展dict类
  12. windows网络排查
  13. 十五个问题了解个税汇算清缴
  14. 现代测试技术与软件关系大吗,2013.现代测试技术.复习要点.docx
  15. 针对此次疫情的防控建议
  16. [读书笔记]《小强升职记》
  17. C++20 Concepts 模版约束概念
  18. 冬季旅游,北海的风景、历史与美食,气候温暖如春
  19. 黑马程序员————集合框架1(day14)
  20. 计算机打印时颜色怎么加深,喷墨打印机部分颜色加深怎么办

热门文章

  1. Vue 安装的时候报错,EEXIST: file already exists, cmd shim ‘C:\Users\Administrator\AppData\Roaming\npm
  2. 根据verilog画出对应的电路图
  3. 【微电网优化】基于量子行为粒子群算法机组燃烧控制系统建模含Matlab源码
  4. android pad怎么u盘,SanDisk推Android手机平板用3.0 U盘
  5. 移动设备软件开发-2
  6. tp5.1微信登录(微信开放平台)
  7. 运城学院计算机系有什么专业,运城学院有哪些专业及什么专业好
  8. 《黑马程序员》C++核心编程(二)
  9. 雷军卸任小米有品公司董事,仍持股70%;马斯克决定不加入推特董事会;一加10 Pro内核源代码公布|极客头条
  10. From C# to Java (0) - 目标