绪言
显而易见,信息技术现已成为企业核心竞争力的一个重要组成部分,是业务成败的决定因素。信息技术通过不断的技术创新,一方面不断完善自身的体系结构和实施手段;另一方面,它引导新业务模式的产生,成为生产力提升和变革的原动力。
正是由于信息技术对于企业经营模式,乃至整个社会沟通方式所产生的显著而巨大的影响,它已经从一个辅助性的角色,转变成为众人所瞩目的重点话题。
让我们把目光从整个社会的大范畴聚焦到一个企业,信息技术的发展已经到了一个极制。7×24的全天候访问,跨越软硬件平台的无限可扩展性,简单、一致的用户自助服务界面…诸如此类的苛刻要求,都是为了满足业务部门"更快、更高、更强"的要求而制定的。然而,在信息系统满足了上述的种种要求之后,其自身的结构也变得异常的复杂。
在一个典型的企业应用环境中,从后台的硬件存储开始,往往要通过数据库、应用服务器、Web服务器和客户端应用几个技术层次来实现业务操作,其中还会由若干承担具体任务的中间件产品和技术扩展,来提供诸如均衡负载、高可用性、可伸缩性等企业计算所必须具备的功能。下面的图示反应了这类企业的基本技术构成元素和层次:
如此复杂和功能强大的信息系统为企业业务目标的实现提供了技术上的保障,然而,这还不足以实现提高生产力的最终目标。一个企业应用的评估标准应该有两个,一个是可实现性,一个是运行效率。对于前者,我们通过基础架构和技术组件来达成,而后者,传统的实现方法是通过专门的维护团队来保证的。
对单一类型的应用而言,"效率",也就是"性能",通过这种方式,是能够得到保证的。无论是数据库,还是应用服务器,乃至在更加复杂的定制应用和打包应用领域,都有厂商或者集成商的专业技术人员来为之提供支持服务。对于用户而言,无论是依靠厂商的服务,还是自己拥有的系统维护团队,对于单一类型的应用系统尚且能够确保性能,尽管,随着特定技术之间的交叉、融合,只单纯把握一种技能的人员,已经越来越难以应付系统性能所提出的挑战。
在进入21世纪之后,随着Web技术成为数据展现和操作访问的事实标准,企业利用这个平台,将原来分散的子系统进行着整合。尽管应用整合可以通过多种手段来实现,但J2EE的出现,由于其天生具备良好的开放型和可扩展性,使之在应用整合和开发的过程中发挥了愈来愈显著的优势。
采用J2EE技术部署基于Web的应用,已经显著改变了服务的基本经济原则、竞争力和用户界面。基于Web的应用迅速代替成本更高的"人员协助"传统服务。这种新一代应用为企业提供了独一无二的机会,使之能够利用传统系统,在多个服务"层"之间分配应用,充分利用新计算技术的优势。
虽然这些基于Web的应用为公司提供了无与伦比的灵活性,但更加复杂的应用却使所在的基础设施面临不断的改变和超高的负载,应用性能的下降所导致的不良用户体验,反而降低了客户的满足率和忠诚度。
当今的用户都期望能在世界各地随时访问网站。假如应用的用户发现屏幕底部的蓝色进度条从左到右前行的速度过慢,他们就会离开该网站,而且通常不会再次访问。同样,假如服务水平没有达到期望值,现有客户端通常会重新使用陈旧的、高成本的旧用应用来处理业务,或者开始关注其他供给商或服务。
从而,企业的治理者熟悉到,由于目前业务对于信息系统的依靠性,假如不能遏制应用性能下降导致的客户流失,假如不能克服复杂性所导致的迟缓的故障排查,对于J2EE在内的新技术的使用都会适得其反,导致业务的下滑。
方法论和解决方案
在这种情况下,一种对于应用性能进行监控、报告、分析、改进以及趋势猜测的技术应运而生,我们把这类技术成为应用性能治理(application Performance Management)。它具有以下几个鲜明的技术特色:
1、APM着眼的是应用系统整体的性能治理,而非仅仅针对某个技术层次的"烟囱式"的解决方案。从性能指标的检测开始,APM就是以最终用户的响应时间为主要的衡量标准,在第一时间将问题定位于某个技术层次;在问题得到修改之后,它也会从应用整体响应时间的角度,测量改进之后的性能。
2、APM的视野不仅足够宽广,而且足够深入。对于每个技术层次,APM都能够溯本求源,准确定位导致性能下降的根本问题。而且,它提供专家级的建议,通过最佳实践帮助使用者尽快进行修复。
3、APM考察应用系统的性能依据,来自于用户的真实操作数据。同比传统性能调优工具使用的模拟数据,APM才能够收集到用户实际的体验,将使用习惯、业务波动和技术指标综合考虑。显而易见,这种数据只能来自于生产环境,而APM依靠其对于应用超低的负载,能够实施7×24的长期监控,是那些产生高额负载的性能调整工具所不能比拟的。
4、APM拥有专门的数据存储。APM将采集的数据经分析之后存放起来,而非在考察之后就抛弃,或者仅仅保留短时间的性能数据。只有这样,使用者才能够通过对于长时间的历史记录的分析得到结论,从而了解:过去曾经发生过什么,现在正在发生什么,以及今后即将发生什么。这就使得,APM不仅仅是一个在性能问题出现后进行补救的工具,而且能够为系统的维护团队提供预警信息,在性能问题真正开始影响用户的使用之前,就将其改正,保证为用户提供一个性能可靠,坚如磐石的应用系统。
VERITAS i3 for J2EE就是一种典型的APM解决方案,它基于一种旨在便捷地对应用性能问题提供快速隔离、分析、纠正和校验的方法论,由以下5个阶段构成:
1. 检测 --识别并且显示性能问题的症状
2. 查找 --识别问题来源,将其隔离在某个技术层次
3. 聚焦-- 发现问题的根源所在
4. 改进--提供基于最佳实践的建议,以改进性能
5. 验证--确保实施的措施能够达到预期目标
以上的五个步骤依照以下顺序执行:
1.使用VERITAS i3 for J2EE的告警功能,进行主动和/或被动检测。