
应用性能管理系统项目立项书160401说课讲解.doc
12页应用性能管理(APM系统)项目立项书2016年4月目录应用性能管理系统项目概述 11.1 项目背景 11.2 建设目标 11.2.1 远期目标 11.2.2 本期目标 2应用性能管理 APM 系统的服务 22.1 APM 系统实现 22.2 APM 系统服务 32.2.1 主动页面性能监控 32.2.2 Web 页面及 H5 页面监控 3223移动端APPs性能监控 4应用服务器端性能监控 5应用性能管理 APM 系统的价值 63.1 APM 对运维部门的价值 73.2 APM 对研发部门的价值 7一、应用性能管理系统项目概述1.1项目背景随着云计算和移动互联网的发展,支持随时随地进行业务交易的便利也进一步推动 着企业和政府部门开发互联网和移动互联网业务各类 APP和网站数量急剧增长,同类业务竞争进入白热化阶段,而国家提出的“互联网 +”战略,也表明基于互联网和移动互 联网业务是国家未来发展的驱动力经过近 10年的发展,互联网业务所必需具备的一些 属性也逐步明确,用户体验是其中重要的一个因素用户体验是否良好成为业务成功与 否的关键影响应用体验的环节是贯穿从终端到服务端的,初步分析需要考虑的因素如下:• 终端:终端性能,接入方式, OS版本;• APP应用:布局渲染,进程调用,代码效率,闪退,崩溃;• 浏览器端:客户端时间, DNS TCP连接,页面渲染,JS错误,Ajax请求;*网络传输:异常路由,延迟,抖动, CDN节点设计和选择;• 云端即服务器端:硬件性能,设备延迟,并发压力,应用架构,代码效率,外部接口调用,数据库调用;以上的任何一个环节出现问题都会影响用户体验,更何况中国的网络环境南北互通 复杂,网络运营商众多,OS次生系统和智能终端数量众多,机房设备品牌众多等因素的 影响,用户体验的优化更加难以把握。
基于业务层面的用户体验管理体系的建设可以让 业务系统的用户体验透明化,可有效的保障线上业务开展随着XX电子政务平台整体信息化建设的加快,业务规模的不断发展,为了能够给 用户提供高效、可靠、稳定的业务服务,提升 OA、门户、信息系统等业务的整体业务性 能,建立一整套体系的涵盖浏览器,网络,应用服务器端的端到端应用性能管理平台显 得尤为重要1.2建设目标1.2.1 远期目标建设XX信息系统从浏览器,APP网络到应用服务器的全过程端到端应用性能管理平台,从用户体验角度全面掌控管理信息系统的服务状态及业务支撑能力,夯实 IT运维精品文档管理工作,并奠定业务和系统性能分析数据基础,并与 XX电子政务平台云监管服务模块 对接关联,从而为XX管理决策提供数据支持122 本期目标为XX管理信息系统提供端到端应用性能监控和管理能力, 对访问过程中出现的异常 第一时间做到 知其然”更要 知其所以然”扩大监测范围,对现有的所有业务系统实 现APP,浏览器,网络和应用的数字化,切片化应用性能指标收集,对于访问慢的问题 可精确到代码级的定位能力对现有监控系统形成有效补充,基于业务全过程管理,实 现代码级性能和用户体验的监控、预警、分析和定位,满足业务系统在运行和维护阶段 的性能管理需求,实现性能剖析,帮助提前发现性能瓶颈,实现持续性优化;帮助快速 定位和解决问题,提升系统的稳定性和高可用性,以满足各层级人员的使用需求。
本期应用性能管理系统建设项目建设内容如下:• Web页面及APP文件下载主动拨测监控;• Web/wap页面被动监控;• APPs的前端性能监控;•后端应用系统性能监控;二、应用性能管理APM系统的服务2.1 APM系统实现APM!务在性能监测领域是一种成熟的服务模式, 此业务的特点是部署比较简单且采取的都是业界成熟的监控手段具体而言:•主动页面性能监控:采取业界通用的主动拨测的方案,对业务系统无需做任何更改;• web页面及H5页面监控:通过页面注入 JS代码的方式进行监控,被动式采集真实用户访问的性能数据,从而分析 H5应用分析的性能问题;*移动端APPs性能监控:采用业界成熟的 SDK方案,无需修改 APPs的业务代码,被动式 采集用户访问APPs的性能数据;•应用服务器端性能监控:采取业界成熟的探针部署方案,无需修改服务端的业务代码被动式采集真实用户请求服务端的真实性能数据;通过采用以上监控手段,即可对包括 XX在内的电子渠道业务实现全场景,端到端的性能监控2.2 APM系统服务按照移动互联网性能问题影响因素, APM 系统建设后可为我部带来如下方面的性能 数据分析和服务内容:2.2.1 主动页面性能监控1) 主动的全页面性能监测: 通过主动拨测的方式对目标页面发起访问, 并实现浏览器性能,网络性能的采集,包括首屏时间,总下载时间, DNS TCP连接,首包时间等2) 全页面访问性能分析:通过报表展示可视化了解网站运行情况,以用户视角了解网站运营表现。
支持单页面监测、 PING监测、事务处理监测等3) 业务交易流程监测:完整模拟用户的 Web事务流程,对一个完整的事务流程进行监测, 从而定位整个事务流程中具体的性能瓶颈所在比如:转账流程从用户登录,到转账 信息填写,直至最后的付款,整个完整的事务流程在此过程中,可以了解到哪个步骤 是整个流程的薄弱环节,如何去优化流程,提高用户的体验4) CDN监测:主动的CDN性能监测;5) 端到端跨应用追踪:从主动拨测端跨应用追踪到 Server 端具体代码;6) 真实用户压力测试:可提供至少 5000 并发以上真实的用户访问压力,并结合后端应用 性能监控系统,可真实评估在高并发压力下定位系统的瓶颈或者不可用的性能临界点, 在重大活动开展或新功能上线前发现全访问链路上的系统瓶颈并针对系统优化, 给予业 务系统最大的保障2.2.2 Web页面及H5页面监控1) 页面性能指标监控:支持受访页面列表排序,提供当前应用系统页面加载耗时最长的页 面列表,点击后可进入该页面分析页, 支持的指标包括 DNS解析,TCP建连,阻塞耗时, 应用耗时,首包时间,网络耗时,DOM处理,页面渲染,总响应时间(从开始浏览计时): 首次渲染时间(从开始浏览计时)。
2) 自定义加载时间:自定义监控页面中某个 Ajax 请求的加载时间3) AJAX分析:支持AJAX页面吞吐量数据采集及支持 Ajax调用页面统计,从请求量占比、平均响应时间、调用次数、平均传输字节数( KB)、错误率4) JS 错误分析:提供浏览器 JS 错误分析,根据错误类型、浏览器 UA 数据、请求页面和JS 文件等相关指标,帮助对浏览器页面打开错误进行分析,并可提供详细的错误堆栈 信息5) 用户访问慢页面追踪:针对单个用户慢可展示当次页面加载性能分解包括服务端响应时间,DOM!理时间,页面加载时间,Ajax请求时间,首屏时间且可提供详细的加载时 序缩略图展示资源加载、 Ajax 请求、用户交互和其他四大类事件发生的时序,以及 JS 脚本错误发生的位置以及相关的脚本错误日志信息6) 多维度组合分析:分运营商、地域、接入方式对页面进行随意组合分析,迅速确定和诊断区域性网络错误及故障, 地域维度可以细化到地市级别 需提供的分析指标包括平均 页面加载时间,平均吞吐率,平均加载网络延时, Apdex不满意比率7) 页面聚合分析:支持根据预设的规则对 REST等格式的页面URL进行合并统计,即能对页面和AJAX请求的URL链接地址不区分路径和文件名进行合并处理,进行性能数据统 计和分析。
8) 端到端跨应用追踪:支持从前端慢的元素跨应用追踪到后端 Server 具体代码2.2.3 移动端APPS性能监控1) 原生 Native APP 监控? 崩溃分析:能够抓取的用户崩溃轨迹、崩溃堆栈、上下文信息;? 网络分析:能够对应用层http进行分析,并能够分析到DNS TCP SSL、网络延时、 首包时间;? SOCKETS析:通过 DNS耗时和TCP耗时对SOCKET!接的URL进行分析;?劫持分析:能够对域名劫持和 DNS劫持进行地域,运营商和访问量多维度分析与定 位;? 慢交互分析:能够分析主线程、异步线程、设备使用情况,对线程的执行逻辑,线 程使用情况进行具体分析;? 组合分析:能提供用户访问地域,运营商,接入方式的组合性能分析;? ANR分析:提供安卓系统发生 ANR寸刻的线程和日志信息、硬件环境、用户自定义附加信息(号码、账号、商品 ID、用户ID )等,便于在用户投诉之前发现问题并解决 动作分析:提供发生页面卡顿(加载超过 4s (可自定义)耗时的动作)分析,给出具体的页面,动作名称,控件等详细信息,定位最慢的方法并提供优化的依据? 跨应用追踪支持:支持从 APP发现的慢交互中定位由于服务器响应慢导致的问题, 并能自动生成跨应用追踪链接分析 Server 端具体的慢代码 /数据库 /API 端口。
2) Webview 监控? Http分析:能够分析域名的 DNS时间、TCP SSL网络延时、首包时间;? IP分析:能够分析域名具体对应的 IP主机,并能够分析主机IP的DNS时间、TCP SSL、网络延时、首包时间;? 页面分析:能够分析页面加载时间及页面 js 错误;? JS分析:能够统计JS异常记录;3) 报表展示? APP健康评分:能参考崩溃率、http响应时间、网络错误、http错误多个指标对app 性能进行直观的评分;? 仪表盘:能提供仪表盘添加所有指标监控;? 组合分析:提供运营商、地域、接入方式多个指标组合分析2.2.4 应用服务器端性能监控1) 应用逻辑拓扑自动发现和可视化:支持应用组件和外部接口的自动发现和关联,展示每 个应用组件的调用和被调用关系,以及吞吐率、响应时间、 Apdex 和错误率等指标;支 持增加, 删除操作; 支持不同语言应用的拓扑发现和关联, 包括 Java, PHP, .NET, Node. JS, Python 等2) 代码分析:支持用户设定关键应用过程慢追踪阀值来进行关键应用过程的详细追踪3) 关系型数据库性能监控:支持 MySQL, Oracle 等数据库实施监控,定位性能最差的表名及其操作,定位调用者耗时,可以深入追踪慢 SQL将对其进行详细追踪,提供包括完整SQL语句,SQL执行堆栈Trace等信息4) 非关系型数据性能监控:支持非关系型数据库 Memcache Redis、MongoDB进行性能监测分析,提供操作耗时,吞吐率,调用者耗时指标,并可深入追踪跳转到具体调用者的性能数据5) 应用外部服务性能监控:可区分自身调用和第三方调用的性能,支持多种协议的外部端口监测,包含但不限于 HTTR Thrift 、Dubbo,通过响应时间占比、平均响应时间、响 应总时间、吞吐率四个指标对包括 WebService, REST等服务的调用的监测分析。
每一 个调用 url 可以监控到调用者的耗时、吞吐率等性能参数6) 不同版本的性能环比:支持用户可对监控平台所监控的应用系统进行版本维护,用以记录每次版本的迭代时间, 从而根据维护的版本时间进行每个版本的性能比较 比较的对 像包括应用整体以及关键的应用过程, 可供选择比较的参数包括 Apdex 指标,应用服务 器响应时间,错误率,吞吐率, CPU和物理内存消耗等7) 基于业务逻辑的多应用服务器之间的性能关联分析:不同语言环境的应用服务器之间性能问题可关联分析 系统后端的应用服务器存在多。












