日期:2014-05-19  浏览次数:20794 次

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

对于软件测试从业者来说,性能测试领域主要包括性能测试执行、性能测试分析、性能优化三个过程域;而性能分析一直是测试工程师的难中之难、重中之重!今天,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应用里做一些动作,过了指定的时间间隔