总览
应用程序概要分析是一种分析技术,用于收集运行时数据并检测应用程序问题,例如内存泄漏,性能瓶颈,过多的对象创建以及超出系统资源限制。 Rational®Application Developer版本7.5是用于企业应用程序开发的集成开发环境(IDE),是开发大型应用程序以最终部署在WebSphere®Application Server上的流行选择。 Rational Application Developer使您能够分析Java™应用程序,从而洞悉应用程序的性能和内存特性。
可以在应用程序上使用两种类型的探查器:
- Java Profiler。 Java Profiler是一个基于标准的Java应用程序探查器,已紧密集成到Eclipse开发工作流程中。 Java Profiling Agent提供有关独立应用程序或在应用程序服务器上运行的应用程序的运行时行为的详细信息。 它是与代理控制器一起部署的代理实例。
- J2EE请求分析器。 J2EE Request Profiler是驻留在应用程序服务器进程中的代理,目的是从电子商务应用程序的请求的拦截点收集数据。 它使用代理控制器将这些数据外部化,以便可以通过工作台的“分析和记录”透视图提供的各种视图来呈现该数据。 J2EE Request Profiler提供有关应用程序的更高级别的数据。
了解有关应用程序运行时行为的更多信息,可以更好地了解其资源需求和运行时可能出现的瓶颈。 Profiler有助于确定问题,并提供有关要调整的参数的有用信息,以提高应用程序的性能。
本文适用于开发人员,性能调整专家或顾问。 它描述了使用Rational Application Developer版本7.5的概要分析功能对在WebSphere Application Server 8.0版上运行的应用进行概要分析的过程。 使用Rational Application Profiler配置外部Application Server实例的步骤与将应用程序与Rational Application Developer集成在一起时所需的步骤不同。
先决条件
本文假定满足以下先决条件:
- 您必须熟悉Rational Application Developer,并将其用作开发工具。
- 您需要对Application Server环境和创建配置文件有很好的了解。
- 您需要具有配置Application Server和执行管理活动的动手经验。
系统要求是:
- Microsoft®Windows®
- Rational Application Developer版本7.5(IBM Rational Agent Controller打包在Application Developer安装映像中,因此不需要单独的安装步骤。)
- WebSphere Application Server版本8.0 ND和一个单元概要文件(联合了Dmgr01和AppSrv01)
如图1所示,Rational Application Developer可以在与WebSphere Application Server不同的机器上运行,也可以在同一台机器上运行。 本文描述了当目标WebSphere Application Server实例位于本地或远程机器(不是与Rational Application Developer集成的WebSphere测试环境)上时,如何连接并启用概要分析。
图1.用于应用程序性能分析的机器设置
![机器设置图](https://i-blog.csdnimg.cn/blog_migrate/19a8a2310a4067c41c76b117c5edc296.png)
设置环境变量
以下目录用作组件的安装路径。
- 代理控制器根目录:
C:\IBM\SDP_1\AgentController
- 应用程序服务器根目录:
C:\IBM\WebSphere\AppServer
- Rational Application Developer根目录:
C:\IBM\SDP
在启动Application Server和Rational Application Developer之前,必须在运行目标应用程序的机器上设置某些环境变量。
- 通过在文件末尾添加清单1中的语句,在
C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin
下编辑SetupCmdLine.bat
文件。
清单1.设置环境变量
SET TPTP_AC_HOME=C:\IBM\SDP_1\AgentController
SET JAVA_PROFILER_HOME=%TPTP_AC_HOME%\plugins\org.eclipse.tptp.javaprofiler
SET PROBEKIT_HOME= \
C:\IBM\SDPShared\plugins\org.eclipse.hyades.probekit_4.2.400.v200809010100\os\win32\x86
SET BOOT_LOADER= C:\IBM\SDPShared\plugins\
org.eclipse.tptp.platform.jvmti.runtime_4.4.200.v200809010100\agent_files\win_ia32
SET LD_LIBRARY_PATH= \
%TPTP_AC_HOME%\bin;%TPTP_AC_HOME%\lib;%PROBEKIT_HOME%;%LD_LIBRARY_PATH%;%BOOT_LOADER%
SET PATH= \
%TPTP_AC_HOME%\bin;%TPTP_AC_HOME%\lib;%PROBEKIT_HOME%;%JAVA_PROFILER_HOME%;%PATH%
- 保存并关闭
SetupCmdLine.bat
文件。
配置WebSphere Application Server
您需要配置Application Server,以便Rational Application Developer Profiler可以连接到它。
- 启动部署管理器。 打开命令提示符,并导航到
C:\IBM\WebSphere\AppServer\profiles\Dmgr01\bin
(其中Dmgr01是本例中的Deployment Manager概要文件)。 输入命令startManager.bat
。图2.启动Deployment Manager
- 启动节点代理。 导航到
C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin
(其中AppSrv01是我们的示例中的节点)。 输入命令startNode.bat
。图3.启动节点管理器
- 通过导航到
C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin
并输入命令stopServer.bat server1
来停止AppSrv01。 - 通过打开浏览器并导航到Application Server计算机上的以下地址来启动Dmgr01的管理控制台:
http://localhost:9060/ibm/console
-
必须在启用概要分析的情况下启动应用程序服务器。 在管理控制台中,导航到服务器 > 服务器类型 > WebSphere应用程序服务器 > server1 > Java和流程管理 > 流程定义 > Java虚拟机 。
要使用Java性能分析代理进行性能分析,请在“通用JVM参数”字段中输入以下内容:
-agentlib:JPIBootLoader=JPIAgent:server=controlled;CGProf
有关更多信息,请参见通用JVM参数 。
图4.启用Java性能分析代理
要使用J2EE Request Profiler进行分析,请输入
-DPD_DT_ENABLED=true
。图5.启用J2EE请求分析器
单击确定,然后保存配置更改。 - 启动服务器1。 打开命令提示符,并导航至
C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin
。 输入命令startServer.bat server1
。图6.启动应用程序服务器
当为Java Profiling代理设置Generic JVM arguments字段时,服务器启动显示为挂起状态( 图6 ),因为它正在以这种“受控”分析方式等待Rational Application Developer的信号。 继续进行下一步。
在Rational Application Developer中配置探查器
下一步是配置Rational Application Developer分析器。 在安装了Rational Application Developer的机器上执行这些步骤。
-
配置并启动代理控制器。
- 打开命令提示符,然后导航至
C:\IBM\SDP_1\AgentController\bin
。 运行SetConfig.bat
脚本以生成代理控制器的配置文件 - 代理控制器可以作为应用程序或Windows服务启动。 要作为应用程序启动,请从
C:\IBM\SDP_1\AgentController\bin
目录输入命令ACServer.exe
。
- 打开命令提示符,然后导航至
- 启动Rational Application Developer。 在命令窗口中,导航到
C:\IBM\SDP
并输入命令eclipse.exe
。 -
程序启动后,转到“性能分析”透视图。 要打开此视角:
- 单击窗口 > 打开透视图 > 其他...
- 从列表中选择“性能分析和日志记录”,然后单击“确定”。
图7.分析和记录透视图
-
附加到服务器实例的远程Java进程:
- 选择运行 > 配置文件配置...。 在配置窗口中,双击“ 附加到代理” ,然后单击“ 新建配置” 。
- 输入配置名称。
- 在“主机”选项卡上的“默认主机”部分中,选择本地主机的地址,例如
localhost[10002]
。 如果要在远程服务器上进行配置,请输入远程计算机的主机名或IP地址。 单击确定。 - 单击测试连接以验证通信正常。 如果连接失败,请检查代理控制器是否正在使用默认端口运行。
图8.测试连接
- 接下来,选择“ 代理”选项卡。 如果您之前已为Java Profiling代理设置了JVM参数,则应该列出该代理Java Profiling-JRE 1.5或更高版本。 展开曲折部分,找到执行时间分析。 同时检查。
图9.使用Java Profiler的配置文件
如果您之前已为J2EE Request Profiler设置了JVM参数,则应该列出代理J2EE Request Profiler。 检查列出的代理。
图10.使用J2EE请求分析器进行分析
- 选择“ 公共”和“ 目标”选项卡以查看其他配置选项,例如指定性能分析项目。 您可以根据需要在这两个选项卡上修改值,但是此示例不需要其他配置。
切换回“ 代理”选项卡,然后单击“ 配置文件” 。
- 监视开始后,就可以开始对应用程序进行性能分析。 从“性能分析监视器”选项卡中注意到server1的进程ID(PID), 如图11和图12所示 。
图11.执行时间分析-Java分析
图12. J2EE请求分析器
分析应用程序并分析视图
配置探查器后,可以通过URL http://localhost:9080/< application_name >
访问要探查的应用http://localhost:9080/< application_name >
。 捕获概要分析数据,并可以在Rational Application Developer中对其进行分析。
Java Profiler视图。 要打开新视图,请右键单击<monitoring .... collecting>分析(日期) > 打开方式 。 您可以选择以下几种方式:
- 执行时间分析
- 内存统计
- 线程统计
图13. Java Profiler视图
示例应用程序的执行统计信息如图14所示。
图14.示例执行统计信息
J2EE Request Profiler视图。 要打开新视图,请右键单击<monitoring .... collecting> J2EE Request Profiler(日期)->打开方式 。 您可以从几个选项中进行选择,例如UML2对象交互,UML2类交互和UML2线程交互。
要在“概要分析”透视图中显示捕获的数据,请在“概要分析监视器”视图中单击鼠标右键,然后选择“刷新视图”。 这将更新所有视图的数据。 显示数据后,必须再次刷新视图以显示新捕获的数据。
图15. J2EE请求分析器
示例应用程序的内存统计信息如图16所示。
图16.样本内存统计信息
在下面的相应模式下可以找到有关这些视图的更多信息。 四个级别是:
- 包
- 类
- 方法
- 实例
您可以通过选择适当的工具栏控件在包,类,方法和实例模式之间切换。
翻译自: https://www.ibm.com/developerworks/websphere/library/techarticles/1110_sharath/1110_sharath.html