会展云解决方案覆盖了业务,技术,平台,应用四个层面,业务层面提供科技感十足的云上展厅、多种模式的论坛会议等;应用层面有多种解决方案,直播解决方案、视频会议解决方案、移动研发解决方案等;技术层面依托海量弹性云计算能力和充足可扩展的云存储及带宽资源,集成了多种京东中台平台的能力,有技术中台、数据中台、智能中台及业务中台能力,可快速响应前台应用的需求。
作为云上展会,最终呈现给广大参会者的对外窗口必然是网站、APP、H5、小程序等线上系统。在京东会展云中,一站式APP解决方案EMOP平台也是其中重要一环,可为会展云举办方提供多种移动终端,包括APP、H5、小程序等,提供全业务流程的规划、设计、研发、运营、运维等一条龙服务。
不久前成功举办的中国国际服务贸易交易会(简称服贸会)首次采取新模式——线上线下展会融合,就借助EMOP平台在运维层面的能力,为服贸会APP的稳定运行保驾护航。
服贸会参与展会的企业多达17000余家,而服贸会APP作为云上展会对外运维的重要窗口,为来自全球不同规模、不同行业的参展商、采购商提供展览展示、论坛会议、洽谈签约的数字平台。
在展会举办期间,服贸会APP如何扛住客流量的压力?如何保障线上APP的质量?如何高效地修复线上崩溃问题?如何提升客户留存和活跃?
在寻找问题答案前,不妨先来看一个京东的案例,2020年京东6.18成交量超2692亿,创历史新高。618大促期间,京东APP有成千上万的用户去浏览商品、抢购、下单等,不仅要扛住亿级流量的压力,还要提供良好的用户体验,毫无疑问,这离不开其背后支撑的技术。
在遭遇到大型会展较大客流量冲击,面对突发事故,研发人员是怎样快速定位问题和及时修复,那必须得谈谈背后的崩溃分析系统和移动性能监控系统。
崩溃系统定位于为移动APP提供崩溃监控及崩溃模块定位的服务平台,通过对APP崩溃数据的监控和分析,从而协助APP降低崩溃频率,提升用户满意度,具有支持Android、iOS极简接入、实时监控、信息全面、安全稳定、统计详细等特点。
移动性能监控系统旨在建立统一的应用性能接入框架,通过各种性能监控方案,对客户端数据进行采集,展示异常数据,辅助定位异常问题并输出性能报告,从而协助开发者快速发现产品性能问题,优化APP性能。
性能分析像是为APP把脉的老中医,各种疑难杂症都可快速揪出来。
在大会举办期间服贸会APP上线运行后,通过性能分析实时感知应用启动性能、页面加载性能、网络请求等状态,定位异常问题所在,保障参展商,采购商,媒体记者等良好的使用体验。
通过以下几个功能:启动监控、卡顿监控、网络监控、webview监控,原生页面监控以及日志上报、安装包分析工具、内存分析工具可实现性能监控。
(一)启动监控
启动监控采用了无侵入式打点方式分为了三个阶段,记录了应用启动各个阶段的耗时情况:
√第一阶段:记录了Application的初始化阶段耗时;
√第二阶段:记录了Application初始化完成后到用户首页开始创建的耗时;
√第三阶段:记录了首页开始创建到完全展示过程的耗时;
√启动耗时=第一阶段耗时+第二阶段耗时+第三阶段耗时。
(二)卡顿监控
卡顿引发的原因有很多种,其中,主线程的卡顿带来的影响最为严重,可能会导致用户无法正常使用移动APP上的任何业务。
卡顿监控原理介绍:
①APPUI线程消息机制
APPUI线程是Looper线程,线程中维护一个消息队列,Looper在循环消费消息队列中的任务,如果消息队列中存在耗时的操作,将会影响UI任务的绘制,导致界面出现卡顿。
②采集UI线程消息的运行时长
④采样
(三)网络监控
网络监控的数据包含了两大类:原生网络监控和图片监控。
原生网络监控主要监控了接口的性能及异常数据;图片监控是在网络监控的基础上新增了CDN节点数据上报。
网络监控技术方案介绍:
①采用ASM字节码编辑技术Hook到了App底层的基础网络组件的网络行为;
③整个网络监控包含了性能数据及异常数据这两类,既满足基本的异常告警监控,也具备分析聚合线上性能数据的功能;
(四)原生页面性能监控
原生页面监控采用较为轻量级的数据采集策略,主要通过运行期间,采集设备的帧率,CPU,内存,线程数,流量这几种数据,来反应当前页面运行时性能情况。
技术方案介绍:
①帧率采集
帧率采集方案是通过系统的回调监听页面的刷新事件,监听到页面开始刷新时便计算页面每帧绘制耗时,通过帧数/总耗时来计算出真实的帧率。
②CPU、内存、线程数据采集
(五)webview监控技术方案介绍
京东性能监控系统支持Webview与腾讯X5内核性能监控,监控的核心指标为window.perfromance.timing参数,该参数记录了整个webview加载过程中的阶段性耗时,详见下图: