随着客户对系统性能的要求越来越高,对于任何系统来讲,如何保证系统的性能并且能够在出现性能问题之前可以猜测和定位到问题,成了要害。系统上线之前的系统测试和上线之后对整个系统各个环节的性能监控是确保系统以优异性能运行的方法。
去年的年末写了篇关于如何简单使用JPROBE发现和定位J2EE应用中的性能瓶颈,JPROBE是QUEST公司的一个针对开发过程中应用程序的性能优化工具,但这不能满足上面提出的对于系统全面的性能监控和治理要求。针对这种要求,结合目前市场上的性能分析,调优和治理工具,比如IBM Tivoli、HP Openview等,这类工具的主要功能是对整个系统进行治理;另外一些,比如Wily,Veritas i3等,这类工具也具备一定的治理和对整个系统进行监控的能力,同时对某一技术层次拥有非常出色的调优和监控能力;其他的工具如Quest JProbe就如上面介绍的一样主要是针对开发过程中程序级别的性能优化。
本文将结合WILY和WEBLOGIC,以目前流行的应用架构来描述如何使用WILY这个工具对分布式系统进行全方位的性能监控和治理。以往针对J2EE的调优很多都是依靠开发人员或者是厂商技术人员根据经验来对问题进行定位和调优,不能做到对系统全方位的了解。借助于WILY之后,可以从客户体验出发到具体的一个SQL语句进行深入细致的分析,来完成对系统的性能的监控和治理。
Wily公司成立于1998年,其第一个投资方是BEA,对WEBLOGIC有很好的支持。
Wily的核心产品是InterScope,包括IntroScopeEnterprise Manager, IntroScope Agent, IntroScopeWorkStation.通过IntroScope可以明确的显示出在J2EE应用程序的什么为止出现了什么问题,比如在应用性能下降时,查明J2EE应用系统的什么位置导致问题是一个非常麻烦的工作,借助IntroScope将会变的非常简单。
Wily Introscope的系统架构如下图
Wily IntroScope特点
应用程序监控,低系统开销,全面监控系统性能,专有的Blame技术即时精确地辨别引起性能问题的构件;
应用服务器监控,最广泛的应用服务器支持,AutoProbe技术整合应用服务器自动获取服务器信息;多平台的支持;
对非java系统的监控,通过EPA与Data API模块,100%线程安全;
系统治理流程整合,通过MIB与系统治理框架整合,控制台能与HP OpenView,Tivoli等整合,SmartTrigger报警系统与电子邮件,程序等整合;
Wily特有的SmartStor技术可以方便快速的存储监控数据信息,并能根据数据信息完成系统历史数据分析和趋势分析;
部分专有技术成为业界的标准。
通过IntroScope的结构图可以看到,核心部分为IntroScope的Enterprise Manager,通过部署在应用中的各种不同AGENT来收集系统运行中的各项性能指标数据,汇总到EM进行分析,并能利用对历史数据的分析对系统未来的性能表现进行评估;分析的结构可以具体的定位到什么位置除了什么问题,并将问题进行分类反馈到相应的系统维护人员,比如网络,系统硬件维护人员,或者是开发和测试人员,对出现的问题进行调整。
Wily与Weblogic的集成
Wily有专门针对Weblogic的性能监控模板,为PowerPack,有效监控最为要害的WEBLOGIC资源,包括线程池,JDBC连接池等,并且第一个实现了对Portal(BEA PORTAL,IBM PORTAL等)的性能治理和监控。通过PowerPack可以看到部署在WEBLOGIC上的应用的各种性能指标,以WEBLOGIC自带的Medical Records例子来说,如下图:
可以看到包括系统资源在内的各种性能指标,和J2EE应用中各种组件的性能指标,通过配置可以跟踪到某一个具体的jsp或者是SERVLET的性能情况,并且可以配置在某一性能指标达到指定的阀值后进行报警操作。