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