性能监控白皮书

第一章 产品概述

性能监控系统,治理服务在开发、上线运营等场景中,开发者遇到线上问题无从定位、重复性的统计性能数据造成人力成本极高、覆盖机型不及线上,无法模拟线上用户所有操作、其它客户端对客户端性能监控的缺失等问题。

第二章 产品优势

2.1 支持多平台

支持移动端Android、iOS两大主流移动平台。针对不同平台特性和监控规则,进行数据获取和数据分析。

2.2 数据监控对业务无影响

对接入的业务线现有业务无任何影响,数据获取无侵入,对业务逻辑无影响。通过集成SDK,即可进行数据监控和统计,满足复杂环境下的性能监控作业。

2.3 排查用户使用全流程问题

基于用户真实试用流程,从APP启动阶段监控,卡顿问题监控,网络加载监控,原生页面使用监控,webview页面监控。

2.4 数据上报设置

可根据用户使用量进行动态设置,可对所有功能进行开关设置、灰度设置、白名单设置等,可实现数据监控自主可控。

第三章 应用场景

3.1 新应用开发阶段

开发过程中,对新开发功能页面、重构功能页面进行性能测试,对新业务/重构业务进行性能评估

3.2 线上网络页面性能评估

对重点业务页面进行数据监控,排查异常率较高的页面。按照页面从数据加载到页面加载完毕的全流程监控,快速定位加载过慢、无法加载原因。

第四章 总体设计

4.1 产品架构

产品架构

4.2 部署架构

部署架构

第五章 产品功能

5.1 运营数据

运营数据作为产品性能分析的参考,帮助用户在出现性能问题时,进行评估影响范围以及分布情况等。涉及数据包含但不限于启动人员统计,机型分布,系统版本,客户端分辨率,网络类型等信息。

5.2 启动监控

针对当前APP启动阶段(即:点击打开,到首页加载完成场景),出现加载过慢,导致用户体验不佳,用户投诉无法打开APP等场景问题,性能监控系统提供针队该阶段的数据监控上报。 启动监控采用了无侵入式打点方式,记录了应用启动各个阶段的耗时情况,将整个启动阶段分为三个耗时阶段进行监控,分别为启动阶段、跳转首页阶段、首页加载阶段。根据不同的状态,进行数据采集和聚合展示,让用户通过直观的数据进行启动过程的数据监控。 同时,针对启动过慢可能因为版本原因所导致,增加多版本对比功能,用户可选择多个不同版本在不同系统的启动情况,进行数据对比分析,同时,也提供了根据不同机型的对比数据。 启动监控,还支持针对用户或指定客户端进行监控数据查询,方便因个别用户反馈问题,开发人员无法快速复现问题,从而无法着手快速解决产品问题。通过查询结果,以最真实的用户数据,进行问题排查,实现问题快速定位及验证解决方案的有效性。

5.3 卡顿分析

用户在使用移动APP时,卡顿是经常遇到的问题之一。卡顿引发的原因有很多种,其中,主线程的卡顿带来的影响最为严重,可能会导致用户无法正常使用移动APP上的任何业务。 面对主线程的卡顿问题,性能监控系统通过对引发主线程卡顿的各个堆栈进行数据监控上报,协助开发人员实现快速定位卡顿问题。通过对不同版本的卡顿率以及卡顿次数进行数据展示,快速发现卡顿问题。 通过卡顿列表中,对各个堆栈的监控,可快速定位到堆栈信息,完成问题排查

5.4 网络监控

网络原因导致的性能异常,占比异常监控绝大部分。网络的原因可能导致页面无法加载展现,点击功能无反应等极其严重的后果,网络监控的核心难点是能够针对极个别或一些具有共性问题的用户现场情况的实时分析,用以断定问题的引发原因。 性能监控系统,基于用户的客户端实时数据,通过获取用户客户端的网络组件信息,能够切实的获取到用户由于网络原因导致各个访问接口的返回数据异常情况,以及具体的数据信息。 网络监控功能通过网络总览,了解当前那些接口的响应时间过长,异常率过高。可以快速发现网络接口异常。 通过对响应时间的分解,可快速定位具体最多耗时在整个加载的那个阶段,同时,可参考上下行流量来辅助排查。 同时,当客户端出现网络异常时,服务端会进行数据收集,聚合,通过制定的错误码以及报错总数,来针对重要的错误进行分析。 数据查询功能作为精确查询,可协助开发者对指定错误,指定人员,指定机型等进行快速的查找定位。第一时间判断出,用户在使用过程中什么时间,访问何种接口出现了网络异常问题。

5.5 Webview监控

随着webview页面在APP中的广泛使用,其性能问题日益凸显。主要的性能问题出现在加载过慢,页面异常,网络请求时间过长,白屏时间过长等等。 性能监控系统针对Webview与腾讯X5内核性能监控,实现对用户访问页面的加载时间、异常情况、请求时间、白屏时间等数据进行采集分析,对不同时间,不同版本的情况进行如实反馈。 同时,对于重点业务承载页面,可进行快速查询,协助开发人员对当前页面进行性能评估,完成页面的性能问题的排查。

第六章 部署环境要求

6.1 硬件要求

假设系统达到500TPS,建议部署资源如下:

用途 虚拟化程度 配置说明 数量
应用服务器(mock服务、系统控制台) 虚拟机 4C8G80G 1
数据库服务器 虚拟机 4C8G80G 1

6.2 软件要求

  • 操作系统

建议CentOS 7.4;

  • 中间件
软件 推荐版本 部署建议
MySQL 5.7

results matching ""

    No results matching ""