巧用友盟+U-APM 实现记一次App性能调优

本文涉及的产品
应用实时监控服务-用户体验监控,每月100OCU免费额度
应用实时监控服务-应用监控,每月50GB免费额度
简介: 在一次发版过程中,有某为某型号的机型在系统第一次升级以后出现app闪崩现象。为了通过工具能够迅速定位该类问题,打算引入一款移动端性能分析工具,经调研,有友盟+的一款U-APM可以解决该场景的问题。

项目名称:

某问卷调研系统

 

项目描述:

一个基于某银行app的其中一个子系统:问卷调研子系统。

 

问题描述:

在一次发版过程中,有某为某型号的机型在系统第一次升级以后出现app闪崩现象。重新卸载以后问题可解决。

 

问题呈现过程:

  客户:系统升级以后,有工单提交到后台,app闪崩,必须重启。

  技术:提供具体的系统机型,型号,操作步骤

  客户:操作步骤:下载新版本的app客户端,安装以后,登录,进入问卷模块,app卡顿,重启后可进入其他模块,再进入问卷模块app仍然卡死

  机型:某为某型号

  操作系统:安卓

  技术:卸载app后再重新安装新版本问题是否存在?

  客户:卸载后再重新安装新版本,不是从旧版本升级而来,app不闪退,能进入答题模块。

  频率:工单一天有好几单。


问题分析过程:

   经过问题呈现的方式,发现收集回来的工单,机型集中在某为机型,某具体型号。由于测试机有安卓和苹果机型,但没有某为该机型,遂首先定位是测试机型差异导致本问题发生。

 

问题复现:

  为了复现该问题,大楼挨个工位搜寻该机型号,收集有5台,由于卸载后问题消失,所以需要多收集几台,看发生的概率,同时按不同的操作方式定位问题。

  收集5台机器后,经测试,通过旧版本升级而来的app,问题100%必现。

  卸载后问题100%消失。

 

问题再次分析:

      根据前面的情形,初步怀疑是系统升级时,未进行旧版本的缓存清理,导致问题发生。当重新卸载后,app由于旧版本的缓存被清理,新版本app缓存没有问题,所以问题没有发生。

 

初步解决方案验证:

      为了验证再次分析问题的想法,提出的初步解决方案是,对一台有问题的机型,进行缓存清理后,再次进入答题模块。

 

问题验证步骤:

      一台有问题的安卓机型,升级app后,不做任何操作,进入问卷模块,发现问题存在。打开app的,进入设置界面,进入清楚缓存菜单,确定清理数据。

      等再次进入,发现可以进入问卷模块,进行答题。一切正常。至此,可以对工单进行回复,通过卸载app的方式或者清理缓存的方式,进行问题暂时解决。

 

问题深入分析:

     虽然找到了临时的解决问题的方式,但是具体的问题本质还是要分析。

      找到源码,仔细阅读缓存相关,发现在答题时,会缓存问卷信息到app,减少对后端接口的请求次数,但是在新旧版本的升级中,有某个字段进行了类型修改,当新版本的代码读这个类型的字段时,读取失败,导致失败,由于后续问题处理不优雅,导致系统app直接假死。必须重启。

虽然从源码层面找到了问题,也提交了新的修复版本app,但是为何有的机型不会出问题,而只有这一款机型出问题呢?

 

问题根源分析:

为了找到根本的原因,找到了app专家,经分析发现,该出现故障的机型,对缓存的处理方式和普通机型的处理方式有些差异,会默认保留系统升级后的缓存,而其他机型系统升级后缓存默认是覆盖缓存的。因此导致本次测试未覆盖到。

 

项目总结:

虽然问题找到了,但是是通过人工一步步分析才解决的。后面为了通过工具能够迅速定位该类问题,打算引入一款移动端性能分析工具,经调研,有友盟+的一款u-apm可以解决该场景的问题。




作者:焦宗官

相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
相关文章
|
7月前
|
架构师 Java
jvm性能调优实战 - 35电商APP后台系统如何对Full GC进行深度优化
jvm性能调优实战 - 35电商APP后台系统如何对Full GC进行深度优化
104 0
|
4月前
|
开发框架 缓存 .NET
【App Service】在Azure App Service中分析.NET应用程序的性能的好帮手(Review Stack Traces)
【App Service】在Azure App Service中分析.NET应用程序的性能的好帮手(Review Stack Traces)
|
4月前
|
存储 开发框架 监控
【Azure Logic App】添加 Storage Account 来提升 Logic App 的性能
【Azure Logic App】添加 Storage Account 来提升 Logic App 的性能
|
7月前
|
存储 缓存 算法
jvm性能调优实战 - 34十万QPS的社交APP 如何优化GC性能提升3倍?
jvm性能调优实战 - 34十万QPS的社交APP 如何优化GC性能提升3倍?
154 0
jvm性能调优实战 - 34十万QPS的社交APP 如何优化GC性能提升3倍?
|
监控 UED 开发者
通过云拨测对指定网页进行网页性能监测
本实验将通过云拨测对指定服务器进行网页性能监测,评估网站服务质量和用户体验。
|
网络协议 安全 数据安全/隐私保护
直播app源码,QUIC协议:改善性能与安全性
由于QUIC协议作为一个多种协议集成的一项新型协议创新,被应用到直播app源码平台中,能帮助平台提高性能与安全性,提供给用户更可靠、更优质的直播体验。
直播app源码,QUIC协议:改善性能与安全性
|
运维 Cloud Native 机器人
《2023云原生实战案例集》——01 汽车/制造——节卡机器人 云拨测测助力全面优化海外网站性能
《2023云原生实战案例集》——01 汽车/制造——节卡机器人 云拨测测助力全面优化海外网站性能
《2023云原生实战案例集》——01 汽车/制造——节卡机器人  云拨测测助力全面优化海外网站性能
|
运维
《支付宝APP亿级用户的 性能稳定性优化及运维实践》电子版地址
支付宝APP亿级用户的 性能稳定性优化及运维实践
242 0
《支付宝APP亿级用户的 性能稳定性优化及运维实践》电子版地址
|
Web App开发 弹性计算 监控
试用阿里云云拨测对Web网站的网页性能进行测试并分析
利用分布于全球的监测网络,以真实终端用户使用场景为视角,提供模拟终端用户体验的拨测服务。 可实现对网络质量、页面性能、端口性能、文件传输、音视频体验等场景进行周期性监控,支持多维度分析性能指标。利用可视化性能数据和告警通知可帮助您及时对业务质量作出反应,保证业务稳定正常运行。
606 0
|
数据采集 缓存 数据可视化
APP性能测试方法&工具
APP性能测试方法&工具