`

【J2EE性能分析篇】ManageEngine ApplicationsManager的应用

    博客分类:
  • JVM
JVM 
阅读更多

对于软件测试从业者来说,性能测试领域主要包括性能测试执行、性能测试分析、性能优化三个过程域;而性能分析一直是测试工程师的难中之难、重中之重!今天,Sincky在这里和大家分享J2EE性能分析方法之一:用ManageEngine ApplicationsManager软件来分析J2EE WEB事务的响应时间!

     ApplicationsManager软件是ManageEngine公司的主打产品之一,可以对目前IT基础架构(包括硬件、操作系统、数据库中间件、应用服务器中间件、网络、J2EE/.NET服务)进行性能监控的工具,可谓强大无比、超乎想像!在我接触的性能监控类工具中,它是支持能力最强的工具。

我的相关日志:
2009-08-20 | 软件测试类工具大全2009版 第二部分

     在测试人员使用Loadrunner这种性能测试工具进行性能测试执行后,ApplicationsManager的强大能力即可突出。以典型的J2EE WEB应用程序的性能测试为例,虽然Loadrunner具有监控应用程序的功能,例如操作系统、数据库、中间件,但是Loadrunner对于国内外软件中常用的免费的中间件如Jboss、Tomcat、MySQL支持不足;而更为重要的一点,Loadrunner只能从黑盒级别获得一个HTTP请求到响应的时间解析,虽然它有对HTTP的简单诊断功能,但是仍然不能清楚的知道一个完整的HTTP请求到响应的过程中,JSP执行时间是多少?JavaBean执行时间是多少?EJB执行时间是多少?SQL语句执行时间是多少?试想,如果性能测试人员能把通过Loadrunner定位的性能瓶颈定位到代码层面,那么我们的测试人员的价值可谓大大的体现,我们的工资理所当然高高的加喽!

    官方网址:http://www.manageengine.com/products/applications_manager/,这里Sincky以9.1版本为例。它本身也是一个典型的J2EE WEB程序,使用Tomcat作为Java服务器,MySQL作为数据库,端口默认是9090。

    在Windows上安装好ApplicationsManager9.1后,通过开始菜单启动Application Manager Start,它会自动弹开一个IE窗口,进入登录界面:    

    初始登录默认用户名和密码都是admin.登录进入后,其它功能我们暂且不说,各位朋友可以自行根据官方文档研究,我们这里直接进入正题。点击monitors,进入如下页面:    

    这里才是ApplicationsManager强大监控类型的列表,大家可以看看,你想到的有,想不到的也有;基本满足我们常规软件开发中所涉及到的基础架构。我这里以一个基于windows上的Tomcat6.0/SQL Server2005的J2EE WEB应用程序为例,重点介绍J2EE Web Transaction监控器的使用,当然大家可以再使用Windows/Tomcat Server/Java Runtime/HTTP(S) URLs/MS SQL等监控器来实时监控该应用程序的其它部分。但是这些监控器在ApplicationsManager并没有什么特别之处,大家试后就会发现它和Loadrunner或其它类似工具监控出来的信息完全类似。

    J2EE Web Transaction监控器是ApplicationsManager经过自身算法从HTTP请求/响应数据包和特定的应用服务器中拦截信息后解析出来的响应时间分解,要比Loadrunner的响应时间Breakdown更为彻底和强大,是我们性能测试分析中绝对的好帮手!

    为了让ApplicationsManager能够拦截到我们被测系统的HTTP数据,我们需要添加一个额外的Java jar包到Tomcat的启动文件里,ApplicationsManager通过这个jar文件开放的55555端口来搜集有用数据,最终通过自身算法解析到ApplicationsManager的页面上。这个jar文件叫做WebTransactionAgent.jar,可以从http://localhost:9090/resources/WebTransactionAgent.jar下载该文件,并拷贝到Tomcat服务器的bin路径下。然后修改bin目录下的catalina.bat文件,打开它,添加红色代码到如图位置: 

set JAVA_OPTS=%JAVA_OPTS% -javaagent:WebTransactionAgent.jar

rem ----- Execute The Requested Command ---------------------------------------

echo Using CATALINA_BASE:   %CATALINA_BASE%
echo Using CATALINA_HOME:   %CATALINA_HOME%
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%

    保存该文件,然后启动Tomcat服务器Startup.bat,确保Tomcat服务器启动正常;正常启动的Tomcat提示窗口应该出现这句话:

AdventNet Web Transaction agent started at port 55555

    接着再回到ApplicationsManager,点击页面上边的New Monitor链接,选择J2EE Web Transaction,显示下图页面:

    在Host Name/IP Address里输入Tomcat服务器地址,如果子网掩码不同可以修改默认的,端口不必修改,因为已经开启55555了,Polling Interval是时间间隔,表示多久让ApplicationsManager搜集数据一次;选择一个Monitor Group,点击Add Monitor按钮,提示成功!点击成功提示后的Monitor Detail链接,进入如下页面:

    这里我们需要再编辑该监控器,点击Edit Monitor链接:

    这里一定要勾上Enable Tracing复选框,才能让ApplicationsManager对截获下来的SQL和Java Class进行深层性的分析,点击Update按钮,回到前页。其它设置含义请看帮助。

    接下来,我们可以随便在Tomcat下部署的J2EE应用里做一些动作,过了指定的时间间隔,点击上边的Refresh Data链接,就会在ApplicationsManager的下边出现我们期待已久的分析结果了:

   图中显示的是我随便操作几个WEB页面动作所解析下来的结果,由于试用版限制,这里只能显示5个Transaction,它们的响应时间分别是1000、219、78、47、16毫秒,以第一个Transaction的contact_edit.jsp为例,它有750毫秒消耗在JSP解析时间上,有250毫秒消耗在SQL语句执行上;其它事务类似。点击该事务,会在下边的method level的Tree视图中显示出这750毫秒和250毫秒分别花在具体什么JSP上和具体哪个SQL语句上.

    再点击method level的SQL视图,可看出JDBC连接时间、SQL语句执行时间、结果提交时间、连接关闭时间等等细的不能再细的时间分解!!!到了这个地步,朋友们,J2EE的性能瓶颈定位,还是难点吗? 得意 

    【总结】

    1. 图中的URL的Total时间,按照ApplicationsManager的文档,应该和Loadrunner的事务响应时间是一样的,只是Loadrunner是在多用户并发情况下计算出来的,而它不关注前台是否并发,只管采集后台数据、计算结果。实际工作中,我们对经过Loadrunner测试后的端到端事务响应时间,可以再用ApplicationsManager来进一步分析瓶颈所在地。

    2. ApplicationsManager是一款如此好的工具,如果需要应用到企业的实际性能测试分析环节中,还是需要官方license的支持才能体现其强大作用。

    3. ApplicationsManager可以综合监控和分析一个庞大软件系统的各个层面的性能问题,而绝不单单本实例所介绍的J2EE WEB应用程序监控。

    4. ApplicationsManager更可以作为软件产品上线后对生产环境的实时监控,并且可以对每个监控的性能指标设定阈值,并触发自动发送邮件等动作即时通知用户。另外,它对所有的监控器都有强大的报表功能,可以把历年、历月、历周的生产环境数据统计并分析出来,从而回过头来作为性能测试需求分析的有效场景设计依据;所以一定程度上,它和WebTrends Log Analyzer具有相同功效,参见:

分享到:
评论

相关推荐

    ManageEngine_ApplicationsManager8.5

    anageEngine Applications Manager提供了监视和管理J2EE底层结构、J2EE应用的解决方案。它能监视Web服务器、数据库、应用服务器中的不同部件和这些部件所部署的系统。它提供了开放标准(如SNMP、JMX),保护了投资也...

    J2EE性能测试的培训资料

    综上所述,J2EE性能测试不仅是确保应用稳定运行的关键,也是持续优化应用性能的重要手段。通过对J2EE系统架构的深入了解和性能测试技巧的掌握,可以有效地提高应用的响应速度和用户体验,从而增强企业的竞争力。

    J2EE性能测试

    8. 应用性能监控:为了更好地进行性能分析,监控工具必不可少。它们可以监控到J2EE应用运行时的各种状态,包括应用服务器状态、数据库状态、网络状态等。 9. 性能测试报告:测试结束后,编写性能测试报告是将测试...

    J2EE常见应用性能问题

    通过上述分析,我们可以看出,J2EE应用性能问题的检测与解决,关键在于采用正确的工具与方法。新型的性能监控工具能够提供多层次的数据测度,帮助开发者快速定位性能瓶颈。同时,针对性的调整策略也至关重要,它能够...

    J2EE性能测试_part1(共2卷)

    本文档介绍了如何完整进行J2EE应用程序的性能测试以及如何解决J2EE API的关键性能问题。

    使用PerformaSure进行J2EE性能监控及瓶颈分析

    在J2EE应用程序的开发和运行过程中,性能监控与瓶颈分析是至关重要的环节。这有助于确保系统的稳定性和高效性,及时发现并解决潜在问题。"使用PerformaSure进行J2EE性能监控及瓶颈分析"这一主题,正是针对这一需求...

    J2EE程序的性能优化技巧

    在开发企业级应用程序时,J2EE平台因其强大的功能和组件化特性被广泛采用。然而,随着用户数量的增加,性能优化成为确保系统稳定运行的关键因素。本文将深入探讨J2EE程序性能优化的一些关键技术和策略。 一、概要 ...

    构建高性能J2EE应用的5种策略

    首先,缓存(Caching)是提高应用性能的关键手段。通过存储频繁访问的数据,缓存可以减少对持久性存储器(如数据库)的访问,避免不必要的磁盘I/O和网络通信。在J2EE环境中,可以使用如Ehcache或Infinispan这样的...

    J2EE应用服务器性能优化方案

    讲解了J2EE应用服务器的优化方案,对于高级开发人员和企业管理人员都是值得看看的!

    J2ee架构分析设计

    J2EE,即Java 2 Platform, Enterprise Edition,是一个广泛应用于构建可扩展、高性能和高可用性的分布式企业应用的软件平台。 ### J2EE的N层体系结构 J2EE采用多层分布式的应用模型,这种模型将应用逻辑分解成多个...

    J2ee技术与应用

    3. 高性能:J2EE技术可以提供高性能的应用程序,满足企业级应用程序的需求。 4. 安全性:J2EE技术提供了一种标准的安全机制,确保应用程序的安全性。 J2EE技术是企业级应用程序开发的重要技术之一。掌握J2EE技术...

    J2EE性能优化

    【J2EE性能优化】是针对基于Java 2 Platform, Enterprise Edition (J2EE) 开发的分布式企业级应用程序进行的性能提升过程。优化的主要目标是提高并发用户数量、吞吐量和可靠性,以确保应用能够高效、稳定地服务于...

    J2ee 性能研究 毕业论文

    性能问题应贯穿于J2EE应用的整个开发周期中,包括分析设计、创建、测试和部署等阶段。 ##### 1. 分析设计阶段 在项目启动初期,明确系统的目标至关重要。这包括确定系统是否需要处理大量并发用户的请求,或者是否...

    美河提供 J2EE性能测试

    J2EE性能测试是确保这些应用程序在高负载和大规模并发情况下的稳定性和效率的关键环节。以下是对J2EE性能测试的详细解释: 一、J2EE性能测试的定义 J2EE性能测试是针对基于J2EE技术的系统进行的一系列测试活动,...

    J2EE性能调优.docx

    J2EE性能调优是Java开发中至关重要的环节,特别是在大型企业级项目中。本文将主要探讨针对J2EE应用的调优策略,以WebLogic服务器为例...同时,定期监控和分析应用性能,及时发现和解决问题,是保持应用高效运行的关键。

    Java&J2EE性能优化文档

    例如,错误地使用或过度使用J2EE功能可能导致应用程序性能下降,用户体验受到影响。项目和团队问题常常是优化的关键点,团队成员需要充分理解和掌握新技术,通过培训和实践经验来提升技能。用户需求的理解也至关重要...

    Designing Enterprise Applications with the J2EE Platform, Second Edition

    ### 关于《使用J2EE平台设计企业应用》第二版的知识点解析 #### 一、J2EE平台概述 **J2EE**(Java 2 Platform, Enterprise Edition)是Sun Microsystems公司为开发大型分布式网络应用而设计的一个软件平台。它继承和...

    用J2EE和UML开发Java企业级应用程序(PDF 带书签版)

    本书首先介绍了J2EE的基本概念和主要技术,以及UML中的各种设计视图和基本原理,然后以软件工程的开发流程为主线,系统分析了使用UML进行分析、设计,并在使用J2EE技术时,结合应用了UML的方法和技巧。 本书从最基础...

Global site tag (gtag.js) - Google Analytics