应用性能管理(ApplicationPErformanCEManagement,APM)
目录
1.什么是应用性能管理2.应用性能管理的功能设计3.应用性能管理的系统设计4.参考文献什么是应用性能管理
应用性能管理是指对企业的关键业务应用进行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本(TCO),为企业带来更多的商业利益。
应用性能管理能够对整个企业的IT系统各个层面进行集中的性能监控,并对有可能出现的性能问题进行及时、准确的分析和处理。它能轻松地从一个IT应用系统中找到故障点,并提供有相关解决建议或方法,从而提高整体的系统性能。
应用性能管理的功能设计
应用性能管理可以全面地覆盖企业的应用组件。从数据库、中间件到ERP/CRM,还有不同种类的应用服务器、基于J2EE和.Net平台的企业应用,以及传统的大型机应用等。对用户而言,应用性能管理可以解决关键业务应用在日常运维过程中遇到的诸多问题。应用性能管理主要功能划分为如下:
(1)监测应用性能
APM对所有的关键应用系统实时收集性能数据,从而进行主动性的性能管理、告警、优化,确保IT系统平台能给终端客户提供最好的服务,保证企业的运行系统的服务质量。
监测企业关键应用性能:过去,企业的IT部门在测量系统性能时,一般重点测量为最终用户提供服务的硬件的利用率,如CPU利用率、内存利用率以及通过网络传输的字节数。虽然这种方法也提供了一些宝贵的信息,但却忽视了最重要的因素——用户的响应时间。现在通过事务处理过程监测、模拟等手段可真实测量用户响应时间,此外还可以报告谁正在使用某一应用、该应用的使用频率以及用户所进行的事务处理过程是否成功完成等。
(2)定位分析性能问题
APM收集了端到端的资源占用情况,从浏览器开始,跨越中间件服务器,通过数据库一直到物理存储器的监控和检测应用性能情况。以用户响应时间为统一的标准来衡量各个技术层面的性能数据,避免了负责各个技术层面的厂商和技术人员互相推卸责任,提高了定位分析问题的速度,同时可以进行特定时间性能分析,解决相关性能问题。
(3)优化系统性能
性能优化是应用性能管理的主要目的。在借助专业分析的基础上,IT管理者可以对数据库、中间件、应用软件的执行效率进行针对性的调优,确保应用部件使用最为合理的系统资源,保持健康运转。
APM系统可对应用系统作持续的性能优化,找出应用中的性能瓶颈。应用性能问题绝大部分是由于应用逻辑设计不合理或不良的SQL语句造成。使用APM可以迅速定位性能瓶颈,作出优化,并可以使用性能基线,自动给出优化方案或建议,剔出不合理的应用逻辑及SQL语句,避免不必要的硬件扩容。
APM可以发现资源使用的趋势的周期,并进行容量规划、合理部署、硬件升级和系统配置,减少以往在硬件上不必要的额外投资。
APM所提供的负载建模及预测工具用于提供长期的系统容量规划所需的预测性分析,根据采集的性能数据建立系统性能负载模型,使用系统负载模型进行假设性问题试验,事先了解应用系统环境的变化对应用系统部署、服务器的整合、业务扩展或增加工作负荷所产生的影响,从而对系统容量规划作出正确的决策。另外,APM还可以预测企业标定服务质量的标准和工作量等目标能否达到,基于目前的硬件、软件环境,应用服务的响应时间能否达到规定的标准。
应用性能管理的系统设计
应用性能管理可以针对复杂的应用环境进行全局的性能管理。通常,一个复杂的应用环境可能会涉及的产品或组件有:主机、存储、网络、操作系统、数据库、中间件、WEB服务、页面或终端工具等。所以,这些产品或组件组成了一个性能传递链,任何一个地方出现的瓶颈都将影响到整个应用的性能。
APM性能管理系统是一个完整的主动式性能管理方案,对在复杂IT环境中的应用进行实时性能检测,分析定位根本原因,进行性能优化,并且把改进的方案投入实际的生产环境中进行校验,保证不会出现顾此失彼的情形。其系统设计可以分为以下几个部分,如图所示。
(1)监控
针对应用系统的各个层次或环节的各个性能点,采集并存储相关性能数据,同时可以设置相关性能告警指标,并能通过各种途径产生告警。比如通过发送邮件、短信等,另外应用性能管理界面可以支持多种终端,如PC、PDA、手机等,让系统管理员能随时随地掌握性能情况。
(2)查找
现在的IT环境非常复杂,APM性能管理系统能从宏观、历史的角度监控系统的运行性能,沿着应用从请求开始,依照被处理的路径:客户端或浏览器一网络一web服务器一应用服务器一数据库一主机一存储,诊断专家们可以端到端地查看应用,查看每个技术层次在响应时间中所占的比例,以及当前或过去的某个时刻执行了哪些操作以及操作次数、操作所消耗的系统资源情况,逐步找到导致性能降低的技术层次,从而定位整个环境中的性能瓶颈。
(3)深入
为了进一步分析问题,当问题聚焦到某个技术层次之后,通过“钻取”功能,以图表的形式精确显示更为详细的性能和资源消耗情况,彻底定位根源问题。比如APM能够钻取到JAVA方法调用,了解JVM的具体设置对于性能的影响;能够钻取到ORACLE数据库,分析SQL语句,例如该SQL执行的次数和时间,消耗的CPU、I/O和缓存等资源,使用的索引、执行计划等信息,进一步从微观粒度检测数据库的性能问题。
(4)分析优化
APM性能管理系统能实时采集应用性能数据,并长期保存在性能数据库中,可以通过界面展现各种性能指标。诊断专家可以对比当前和过去不同时刻的数据,分析性能数据的差异,找到性能问题的原因,优化系统性能。另外,可以对历史性能数据进行统计分析,能够使用户直观地看到较长时间段内系统总体应用性能的发展和变化过程,对将来的发展趋势作出判断和预测。并对将来的系统扩容,新系统设备选型等提供技术指标参考。
(5)验证
验证是确保实施的性能优化措施能够达到预期的目的,避免带来新的性能问题等负面影响。APM可以提供真实环境模型验证功能,在将改进真正提交到生产环境之前,提供充分的测试。验证的过程也可能是一个长期并且循环的过程,需要进一步的监控、查找、深入和分析优化,不断地提高系统的整体性能。
王锐,陈丽.应用性能管理的设计方法研究[J].计算机应用与软件.2009,9
发表评论