前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >干货 | 沪江高级安卓工程师徐宜生:移动端APM性能监控

干货 | 沪江高级安卓工程师徐宜生:移动端APM性能监控

作者头像
IT大咖说
发布2018-04-03 15:38:42
1.2K0
发布2018-04-03 15:38:42
举报
文章被收录于专栏:IT大咖说IT大咖说IT大咖说
视频内容

徐宜生,现任沪江高级Android开发工程师,著有《Android群英传》《Android群英传:神兵利器》两书,CSDN博客专家,慕课网Android讲师,活跃于Android社区,喜欢整洁的代码和简洁的架构,乐于拓展新的技术和知识,热衷于分享自己的经验和感悟。

我今天讲的题目是移动端APM性能监控。我们把APM系统定位为对应用的性能、可靠性进行线上的监控和预警的机制,通过APM系统来完善和统一整个流程,让我们去发现分析并解决新的问题,这是整个APM存在的意义。

APM系统的作用有哪些

一、监控线上APP的质量,对崩溃和异常数据进行分析,这是APM系统最大的作用。通过这些数据来了解APP线上用户在使用时是否存在问题。

二、通过数据的分析提前预警可能大范围爆发的问题。利用数据监控发现某一段时间部分异常的数据量有上升的趋势,提前对它问题进行预防。

三、通过后端优化负载,提升服务器性能,让APP性能得到提升。

APM系统在后端的实践

APM系统是前后端都非常复杂的一整套系统。这里主要讲后端上的实践。这里列举几个APM技术上实现的难点。

1、Native、Hybrid混合编程对数据采集的影响。最重要的问题是Android系统的碎片化。

2、如果通过后端SDK的方式去监测性能,对诉主来说性能是有一定的影响,同时APP介入APMSDK的拓展性、可制定性都是我们需要考虑的。

3、APM后端数据分析,前端负责采集性能数据,采集好之后把性能数据上报给服务器,在后端做可试化的分析,从数据里面找到潜在存在的问题,这是比较大的难点。

4、性能数据监测链路太长。APP本身有很多界面以及复杂的网络请求,从服务器里面分析数据返回数据再重现展示,在链路中每一步都可能发生新的问题。

5、不同的性能日志互通比较困难。在前端和后端都有自己的日志体系,但没有方案能将这些日志串联起来。

APM系统性能监控的几个维度

第一种 内存

它直接影响了整个APP的交互体验,主要是APP使用的流畅度。除了流畅度以外还会影响到APP的内存和ROM对APP后台状态的管理。内存主要通过四方面来判断:内存峰值、内存均值、内存抖动、内存泄露。

第二种 CPU

CPU也是APM监控的重点。CPU是整个安卓手机里面比较重要的资源体系,它会影响用户使用APP的发热和卡顿。

第三种 APP启动时间

启动时间有三个,分别是冷启动时间、热起动时间,页面渲染时间。

第四种 UI性能

是比较重要的一个部分,带给用户最直观的感受。一个APP如果特别卡的话,很可能会被用户弃用。UI性能的重要性主要表现在重绘的性能、滚动帧率还有ANR以及页面渲染时间。

第五种 耗电量

现在手机电量能否支撑一天是人们最基础的需求,APP不能特别耗电。耗电主要分为耗电量和发电量。如果在使用APP的时候明显有手机发热现象,这是非常不可取的。

第六种 网络性能

现在大部分APP都要联网。联网会不可避免地带来网络上的漏洞和问题,这就需要我们去监控。

第七种 用户的行为路径

就是一个用户在使用这个APP时做的操作。通过监测用户的使用路径可以了解用户都使用了哪些方面。

APM平台的性能监测

APM平台分为两种方式,一个是客户端的性能监测SDK,一个是PC端的性能监测,它们各有利弊。线上阶段可以通过客户端的性能监测SDK,利用APP做性能的监控。优点是不受设备限制,缺点是宿主APP代码有侵入,对性能有一定的影响。在内测方面会通过PC端的性能监测,主要借助APP的命令做性能的监控。它的有点是不影响性能,并可以测试竞品,做出对比。但是唯一的缺点就是它需要连接APP,限定了做测试的范围。

关于APM的进一步优化

1.与其他相结合。结合AI,结合现在比较火的人工智能的方式去分析数据的Pattem。借助AI找出数据之间的观点,帮助我们更高效地分析性能问题。

2.本地异常数据的监控算法。如果APM的SDK导致了整个APP的性能问题,我们需要有一些调度算法,更智能地去控制。

3.服务端指令控制。服务端指令控制是收集日志更精确的方法,通过服务端指令控制,利用服务端主动搜索信息或打开开关做监控,了解到更详细的性能信息来排查问题。

4.自动化测试平台对接。APM系统在内测方面会通过PC端的方式做性能监控,也利用APP方式做性能监控。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT大咖说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
应用性能监控
应用性能监控(Application Performance Management,APM)是一款应用性能管理平台,基于实时多语言应用探针全量采集技术,为您提供分布式性能分析和故障自检能力。APM 协助您在复杂的业务系统里快速定位性能问题,降低 MTTR(平均故障恢复时间),实时了解并追踪应用性能,提升用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档