为用户着想的WebGateJ2EE应用性能管理解决方案白皮书北京宝兰德软件技术服务有限公司WebGate产品白皮书ApplicationPerformanceManagementWebGate2目录1.为什么要使用WEBGATE.....................................................................................32.J2EE应用现状......................................................................................................42.1.J2EE概念......................................................................................................42.2.越来越多基于J2EE标准开发的应用...........................................................52.3.J2EE应用常遇到的性能问题.......................................................................62.4.J2EE应用性能管理难题...............................................................................73.性能管理现状......................................................................................................94.J2EE应用性能管理最佳解决方案:WEBGATE...................................................104.1.WEBGATE概述..............................................................................................104.2.WEBGATE体系架构......................................................................................134.2.1.WebGateAgent...................................................................................134.2.2.WebGateManager..............................................................................144.2.3.WebGateViewer.................................................................................144.3.WEBGATE产品特点......................................................................................154.4.WEBGATE应用..............................................................................................165.WEBGATE功能.....................................................................................................185.1.实时监控功能.............................................................................................185.2.性能分析功能.............................................................................................195.3.性能问题诊断功能.....................................................................................225.4.故障管理功能.............................................................................................255.5.统计分析功能.............................................................................................265.6.报告功能....................................................................................................27WebGate产品白皮书ApplicationPerformanceManagementWebGate31.为什么要使用WebGate在基于J2EE应用程序的企业系统运行过程当中,运营维护人员经常会碰到如下问题:Ù应用程序服务器在性能方面是否存在问题?存在什么问题?Ù应用程序的性能是否稳定?Ù在运行的应用程序当中,是否可以判断哪些应用程序的性能相对较弱?Ù是否可以准确测定运行应用程序的服务性能?Ù是否可以确认哪些应用程序造成内存泄露?Ù许多使用者接入系统时,应用程序性能真的很可靠吗?Ù最近一周或一个月,系统性能如何?有定量的系统性能报告么?Ù应用系统怎么才能长期稳定、健壮地运行呢?这些问题仅仅依靠操作系统自带的工具是不能解决的;仅仅依靠运维人员的个人经验是不能解决的;仅仅依靠不断的投入巨资更新服务器的硬件配置是不能解决的;投入大量人力,花费大量时间也未必能够解决,只有使用专业的性能管理工具才能彻底解决这些问题!WebGate正是这样一种功能强大、使用简单的专业的性能管理工具。WebGate就是为了提高正在开发或者开发完成的、基于JavaPlatform平台的J2EE(Java2EnterpriseEdition)应用程序的性能,进行故障预警,确保应用程序稳定运行而开发的产品。使用WebGate,可以预先发现应用系统存在的潜在的性能问题;可以及时分析问题并解决;可以24小时实时监控整个应用系统;可以保存实时性能数据(性能报告);可以定量的分析当前系统性能,科学的决策是否需要升级系统硬件;节省系统维护费用,提高维护效率;可以保证系统长期稳定的运行。WebGate产品白皮书ApplicationPerformanceManagementWebGate42.J2EE应用现状J2EEJava2平台企业版(Java2Platform,EnterpriseEdition)J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。2.1.J2EE概念J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。WebGate产品白皮书ApplicationPerformanceManagementWebGate5图-1J2EE架构2.2.越来越多基于J2EE标准开发的应用J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:1.保留现存的IT资产:J2EE平台的应用几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用,用户可以很好地保留现存IT资产。2.高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。3.支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。4.可伸缩性:J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。WebGate产品白皮书ApplicationPerformanceManagementWebGate65.稳定的可用性:J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如SunSolaris、IBMOS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择。因此,越来越多的企业和政府部门选择J2EE来开发新的关键业务应用程序,企业核心业务必须在线处理,企业内部互联网路以及网络应用程序持续稳定运作,是获取业务成功的关键。因此企业必须对其以J2EE标准开发的应用程序实施全天候监控,以获得最优性能。2.3.J2EE应用常遇到的性能问题随着J2EE应用的功能日趋强大,复杂度也会越来越大,性能问题开始暴露和突出,常见的J2EE应用性能问题有:1.内存泄漏呈线性增长:各单元(如每个事务或每个用户等)的内存泄漏,导致内存使用率随时间或负载的增加呈线性增长。系统性能随时间或者负载增加大幅下降,重启后系统可恢复正常。2.导致无限循环的编码缺陷:线程在While语句返回值为真的情况下发生阻塞。3.资源未释放:JDBC语句、File引用等出现资源未释放,引发JAVA桥接层和后台系统出现严重性能问题。4.系统过度使用,超出系统所能承受的负荷:J2EE应用程序发送的请求过大过多。5.内部资源瓶颈:资源过度使用或分配不足引起资源瓶颈。6.不断重试:由于后台系统可能宕机,使得失败请求的频繁重试。7.线程阻塞、线程死锁:线程退回到无法完成的同步点造成通信阻塞。8.应用系统响应慢:由于应用本身或SQL不合理的问题,导致响应时间长。WebGate产品白皮书ApplicationPerfo