业务运维实战:腾讯是怎么优化APP用户体验的?(2)
说明:
3、卡慢实例在主线程卡慢监控中,比较常见的案例是:主线程加载文件,底层DB读写,图片处理这些比较耗时的操作.我们优化的方案,通常是将这些耗时操作移到异步线程中进行处理. 以下是四个案例片断: 实例一:
平均耗时视图: myAPM后台,会先统计卡慢链路的次数,计算链路中每个节点的平均耗时. 卡慢链路最后的两组数值含义:(代码调用行号),[方法平均耗时].耗时单位为ms. 明细视图: 在明细视图中,我们会列出所有卡慢实例,以及用户基础环境信息. 卡慢链路最后的两组数值含义:(代码调用行号),[方法耗时].耗时单位为ms. 实例二:
实例三:
实例四:
Process()方法消耗了1.3秒,setFacadeImage(),也另外消耗了1秒.
4、myAPM卡慢监控的优势
5、不足及方案myAPM,也存在不足.由于采用注入方式,会使apk的包,稍微变大. 以qzone android apk注入进行全量业务代码时,其apk大小增长0.5M,增长率为2.79%. 方案:
myAPM新特性app卡慢只是用于问题方法的性能优化.其实,对于一个产品,我们不但要关注及处理卡慢的问题,还需要关注app应用常规的性能状况与监控. 因为,这个性能波动,不会像卡慢那么明显.但是在一次次新版本迭代中,可以会让总体性能变慢. 1、监听app启动性能
2、核心链路分析无论是产品,开发,测试与运维,都会想知道:
我们可以继续将卡慢上报范围扩大,上报全量方法.通过数据分析及筛选,我们可以挖掘出核心链路及其性能数据; 3、延时加载通过链路特性分析,我们也可以抽取出调用次数很少,非主场景调用的代码.对于这些代码,在app启动加载时,我们可以使用延时加载.从而提升APP的启动效率. 续集说明
最后myAPM,是我们结合部门实际需求和APM理念,在移动端性能管理的一个新探索,新实践.不仅面向性能问题的定位,也应用于日常的app性能运营分析. 简单分享myAPM在移动性能管理方面的一点思考及应用,希望大家打造好自己移动端的性能小船,关键时刻,不会说翻就翻.共勉! 文:黄伟俊(henry) 原文出处:高效运维(greatops)
(编辑:ASP站长网) |