APP下载

基于代码分析的应用性能可视化

2018-01-28刘颖李欣赵西林徐敏尚勇

电子技术与软件工程 2017年18期
关键词:用户体验

刘颖+李欣+赵西林+徐敏+尚勇

摘要

本文在詳细分析了国家电网西北分部信息系统应用性能管理的基础上,采用理论分析与实践结合的研究方法,建设了一种新的基于代码分析的应用性能管理平台。通过可视化的业务系统代码执行过程的关键指标,并结合现有网络性能分析平台,对影响业务性能问题的代码进行主动分析,快速识别潜在的风险点,为业务应用性能提升提供有效、可靠、科学的数据支撑,不断提高应用系统性能和用户体验满意度,提升IT系统核心价值。

【关键词】应用性能管理 代码分析 关键指标 用户体验

国家电网公司高度重视信息化工作,其基础设施、硬件设备、应用系统、平台软件等软硬环境建设水平得到快速提高。因此,对提高信息通信运行管理水平提出了更高的要求,要求各下属单位丰富系统运维监控手段,提高运维保障能力,提升系统运行故障处理效率,保障系统安全稳定运行,实现对应用系统性能全过程状态监控的功能,提升运维人员在代码监控、内存监测、指标数据关联、监控资源整合等方面的能力,从而提高信息通信运行管理水平。

1国家电网公司西北分部现状

国家电网公司西北分部(以下简称西北分部)现有重要系统数十套,覆盖了规划、建设、检修、运行、人力资源、财务、物资等多个业务领域;目前采用通过流量分析的方式,实现了包括应用性能监测、应用性能问题定位、性能问题报警及追溯、应用流量自动梳理在内的多项功能,并与短信网关系统联动实现了应用性能问题快速报警的效果。但随着业务系统的复杂度提升,在运维工具、管理体系方面还存在提升的空间,这体现在:

1.1缺乏代码级的性能监控

目前缺失了针对应用程序代码级以及数据库SQL执行效率的监测功能,这部分功能的缺失,带来了运维工作中的盲点,一些由代码引起的问题无法得到快速的分析和解决。

1.2应用平台运行参数关联分析能力仍需要提面

目前己经完善了基于网络数据的性能分析,但对于业务代码执行效率与平台参数之间的关联关系快速分析存在欠缺,无法帮助管理人员快速定位问题根源,迅速发现和解决系统缓慢问题。

1.3对应用程序运行时内存消耗分析及监控的缺失

内存泄露问题长期影响程序的稳定性,是部分应用程序崩溃的根本原因。其具备难以监控,潜伏期长的特点,在运维管理工作中难以定位和处理。

针对这些情况,西北分部从实际情况出发,以网络流量数据分析平台为基础,通过建设基于代码级别的性能分析平台,面向业务,完成端到端的用户体验监控,实现代码类问题的定位以及处理,使得这类问题得到有效解决,最终达到提升业务连续性管理水平,提升运维管理水平的目的。

2可视化应用性能的实践

2.1建设目标

(1)部署代码级监测软件,提升软件代码层次问题性能问题处理能力,形成完整的性能管理工具体系;

(2)拓展应用性能管理工具覆盖面,从原有的巡检工作拓展至巡检工作以及建转运工作,使系统得到更深层次的应用;

(3)通过信息系统代码监控、流量监控、可用性监控体系的完善和搭建,形成针对信息系统运行指标的完整监控体系,有效保障信息系统整体运行质量。

2.2系统实现

根据西北分部网络及应用性能可视化的需求,结合西北分部现有环境,本系统采用嵌入式的数据采集引擎进行代码运行指标数据采集,之后将采集到的代码执行效率数据以及运行相关信息存储至数据库内,系统代码性能分析引擎则对这些采集到的数据进行处理,在代码执行效率分析、内存分析、参数关联分析、数据库语句分析引擎的共同作用下,为用户提供代码实时监测、关联分析报告、数据库深度监测功能。系统架构如图1所示。

2.3实施方法

本次系统建设在进行充分的需求调研基础上,在实践的过程中对原理和方法进行研究分析与验证,在后期进行综合测试和优化以确保业务监控的准确性和全面性。

2.3.1需求调研

对现有应用运行情况及信息系统性能管理工作具体需求进行整体调研,确定管理范围、业务架构及系统功能架构等内容。

2.3.2业务梳理

制定包含业务系统相关的负载均衡、服务器、中间件、数据库等组件的完整调研模板,与应用管理部门进行有效沟通,形成系统调研报告,为后期的部署验证工作提供数据支撑。2.3.3部署验证

根据需求调研报告及系统调研报告在监控平台内进行软/硬件部署、业务监控定义、视图定义、报警定义以及报表的定制等部署工作并通过客户确认、架构分析等手段验证部署的正确性及有效性。

2.3.4经验总结

利用应用性能管理系统,进行持续的日常性能监控、问题发现定位、问题处理工作,形成以业务系统特性为基础的经验分类总结库,根据各类型应用的独立特点形成性能管理经验及监控模型,以便在后期类似业务上线时采用类似模型进行监控,利用历史运维经验提升问题定位及处理速度。

3系统实施效果

3.1实施环境

本次基于代码的系统建设主要部署信息系统响应采集组件、业务逻辑分析组件、业务性能分析组件以及系统展示平台,实施环境如表1所示。

3.2系统部署

系统采用业界成熟的技术体系进行设计,数据采集引擎部分采用.NET以及JAVA平台提供的标准性能数据获取接口进行数据获取,对系统影响小,获取数据稳定性高;在数据存储部分,系统采用内存数据库进行设计,保证系统性能数据查询快捷、使用方便;在展示层部分,系统使用J2EE架构进行展示设计,实现了与原有系统的集成。

3.3系统功能

目前系统已经完成的功能包括:集中监控,实时资源监控,代码分析功能,系统统计报表、系统告警五大核心功能。

3.3.1集中监控功能endprint

通过全局吞吐量,監控当前域中全部应用的访问吞吐;通过雷达图展现业务系统各时间段响应时间事务的占比;通过对比曲线显示当前时间段中各业务系统每台服务器的活动服务数值的趋势图;通过事务响应分布图,每个点表示一个事务,显示实时事务分布。利用集中监控功能,能够让管理员快速掌握业务系统当前的性能分布情况,可以根据用户的事务响应时间值,快速介入性能不理想的业务响应,提高用户的应用使用体验度。

3.3.2实时资源监控功能

实时资源监控功能包括所有服务器的实时监控参数信息,通过选择服务器可以对指定服务器监控信息的显示与隐藏,其中包含被监控服务器的实时活动服务、实时服务处理率、实时请求平均响应时间、实时服务器并发用户数、实时服务器系统CPU使用率百分比、实时服务器内存使用堆栈百分比,以及实时服务器数据库连接数。

3.3.3代码分析功能

系统能够监控业务系统每笔交易时,义务系统内部的代码执行过程、SQL语句效率以及系统异常情况,包括交易响应时间、交易最小响应时间、交易最大响应时间、SQL语句、SQL调用次数、SQL响应时间、SQL最小响应时间、SQL最大响应时间、异常发生次数、异常名称等详细内容,让管理员明确了解业务内部执行的过程以及性能瓶颈所在,快速定位问题。

3.3.4系统统计报表功能

系统能够提供多种统计分析报表功能,包括告警统计、应用统计、SQL响应时间、应用响应时间等内容,方便管理员对业务系统的运行状态进行宏观分析,提升业务系统的稳定运行。

3.3.5系统告警功能

系统能够根据所有监控指标进行阈值设定并根据运行值进行告警,并能够根据告警产生时间和应用URL查看该告警的交易事务、代码执行过程及其详细的交易事务性能数据,快速定位问题。

3.4应用效果

经过5个多月的系统建设和不断地分析验证,在西北分部构建了完整的、基于代码分析的应用性能可视化监控平台,并完善的业务性能管理规范,故障处理效率得到显著提高,系统运维处理水平也得到一定程度的提高。目前己经完成监控的业务系统包括财务管控、数据交换、短信平台、16000、呼叫中心、内网网站、企业门户、统一数据交换平台、TMS、统一数据监控与保护平台等多套业务系统。通过该平台,先后发现了TMS系统数据库执行异常导致服务响应超时、财务管控系统数据库语句一次获取太多行数、呼叫中心系统数据未执行关闭、企业门户系统数据库结果资源未释放等问题,经过分析解决后,大幅提高了业务系统的性能。

3.4.1最终用户体验监测

实现了端到端的最终用户访问应用的性能监控,包括应用响应时间,响应的成功率和质量等。并进一步通过主动式的模拟最终用户监测来进行应用可用性的评估,通过对用户体验、网络、应用以及服务的监控来保证应用的高可用和体验效果。

3.4.2应用拓扑逻辑发现和可视化

通过系统平台能够自动识别应用在执行的过程中涉及的软硬件架构和组件,并且可以描绘出应用交付链中相互通讯的各种组件的访问路径,将应用的调用链通过拓扑图,调用图等图表可视化,直观地展示应用的拓扑逻辑,提供了全链路的应用拓扑图。

3.4.3用户定义的事务剖析

通过系统平台能对特定的用户访问特定的事务请求进行完整的追踪,包括在整个请求过程中涉及到的服务和组件。

3.4.4应用组件深度钻取

利用性能分析平台实现运维数据分析,通过对复杂事件处理,统计模式发现与识别,非结构化数据索引、查询和推断,拓扑逻辑分析,多维数据库检索和分析等技术,实现对大量的各维度性能数据进行实时的运算和处理,从而对应用的运维和优化起到辅助决策和驱动作用。

4结束语

面对复杂的业务架构,西北分部结合了网络性能分析工具和基于代码分析的应用性能分析工具,建立了统一的业务系统性能分析平台,利用业务架构,结合数据流关系,通过时间相关性等算法,发掘有业务价值的告警,并直接分析给出告警的问题根源。同时,在该平台及工具的体系上建立了可行的、有效的应用性能监控体系方案,致力于发现、诊断并定位复杂应用的性能瓶颈和故障,以保证应用达到预期的服务水平和用户体验,提升系统运维水平。

参考文献

[1]2016年应用性能管理APM行业分析报告.

[2]应用性能管理(APM)的价值分析.

[3]臧冬松等.一种大规模分布式应用性能分析系统[J].计算机工程,2012(24).endprint

猜你喜欢

用户体验
浅析基于微信平台的商业盈利模式
基于用户体验的辅导员微信公众号建设思考
浅谈用户体验在产品设计中的运用
唯品会的品牌塑造研究