IBM® WebSphere® Studio Application Developer V5.0.1(以下称为 Application Developer)可以让您具有对 Java 应用程序进行概要分析的能力。概要分析能够帮助您了解应用程序的性能特征。知道更多关于应用程序运行时的行为将有助于更好地理解它的需求和潜在的瓶颈。在整个项目的生命周期中,这些知识能够帮助指导您的设计、实现和更新决策。
本文向您展示了如何安装、配置和使用 WebSphere Studio Application Developer 的概要分析(Profiler)工具。本文将演示配置一个简单的应用程序所需的步骤,并且简要讨论Profiler 所用的高层体系结构。本文将不讨论最优化性能的算法或数据结构方面的技术或最佳实践。
Profiler 体系结构您可以使用 Application Developer Profiler 来收集关于独立的 Java 应用程序或运行在基于 J2EE 的应用程序服务器(比如 WebSphere)中的应用程序的信息。在两种情况下,都可以本地或远程(相对于应用程序的目标主机)进行概要分析。此外,概要分析也可以跨多个 Java 虚拟机(Java Virtual Machine,JVM)进行。
WebSphere Studio 中的概要分析(Profiling)透视图给您提供了一组视图,这些视图用图形和表格来表示 Java 程序的运行时。几个交互的元素构成了概要分析体系结构的主要组件:
图1. 概要分析体系结构
体系结构的一个关键组件是 IBM Agent Controller,它安装在部署主机上。Agent Controller 附带了两个可以与之交互的代理: piAgent和 J2EE Request Profiler 代理。这些代理负责收集任何与性能有关的信息。它们直接运行在 JVM 内,并且基于 Java Virtual Machine Profiler Interface(JVMPI)体系结构。代理收集性能数据,并且将其发送到代理控制器(Agent Controller)中,再将收集的数据传送到 Application Developer 中的 Profiler 工具,而信息将在 Profiler 工具中显示出来。
Application Developer Profiler 提供了一个接口,这个接口把控制信息传送到代理控制器(Agent Controller)中,代理控制器(Agent Controller)再将其传送到任何活动的监控代理(monitoring agent)。例如,可以利用控制信息过滤掉我们不需要的信息。
J2EE Request Profiler 代理驻留在应用程序服务器 JVM 中。它通过截取当前传入任何 EJB 和 Web 容器的请求来收集数据。您可以通过概要分析(Profiling)透视图中的一组顺序图来查看收集的数据。J2EE Request Profiler 代理允许跨主机和 JVM 边界进行概要分析。在后续的文章中将讨论 J2EE Request Profiler 代理的特征。
WebSphere Studio 概要分析方法使用 Application Developer 对应用程序进行概要分析的过程可以分为以下四个步骤:
- 安装
- 此阶段的重要任务是确保在部署主机上安装和运行 Agent Controller 的正确版本。在大多数情形中,对 J2EE 应用程序进行概要分析需要访问 JDBC 和 JMS 资源。如果情况是这样的,您就必须创建和配置 WebSphere Test Environment(WTE)服务器实例。
- 设置
- 在此阶段中,关键的步骤就是启动我们前一阶段在概要分析的模式下创建和配置的 WTE 服务器。此外,您还可以选取各种概要分析控制选项来指定代理收集的数据的类型。
- 执行
- 在此阶段中,为了方便地收集适当的用例的相关性能数据,可以选择启用或禁用代理监控。
- 分析
- 此阶段使用 Profiler 提供的几个统计查看器和图形查看器来解释和分析执行阶段收集的性能数据。对性能瓶颈的分析可以帮助您协调应用程序代码或应用程序资源,并且为了验证是否有所改进,还需要再对这些更改进行概要分析。
图2显示了该方法的流程图:
图2. 概要分析方法
软件先决条件
概要分析需要在运行进行概要分析的 JVM 上安装和运行 IBM Agent Controller 的正确版本。要验证 IBM Agent Controller 是否已经安装和正在运行,可以遵循这些步骤:
Start =>Settings =>Control Panel =>Administrative Tools =>Services
图3显示了正在运行的 IBM Agent Controller 服务。
图3. Agent Controller
如果 IBM Agent Controller 不在运行,可以启动该服务。如果没有安装最新版本的 Agent Controller,则可以下载并安装它。
本文是基于 Application Developer V5.0.1 的。Profiler 的这个版本和以前的版本之间存在一些差异。通用的 Heap View 不再有效,并且还对用户界面进行了某些更改。要验证您是否有最新版本的 Application Developer,可以启动该产品,然后选择 Help =%gt; About IBM WebSphere Studio Application Developer。要更新 Application Developer,可以选择 Help =%gt; Software Updates =%gt; New Updates 来使用 WebSphere Studio Update Manager。
设置样本应用程序
在典型的概要分析情形中,需要进行概要分析的应用程序必须已经在 Application Developer 中开发和测试完了。在某些情况下,可能会把现有的应用程序导入 Application Developer 以进行测试和概要分析。为了便于您学习本文,我们提供了一个带有 JSP 和 Java 类的样本 J2EE Web 应用程序。您可以在本文的末尾 下载样本应用程序。将 ProfilerExpts.ear 保存到您的 C:\temp目录,然后选择 File =>Import =>EAR File。在 Import 对话框中,在 EAR file字段中输入 C:\temp\ProfilerExpts.ear,然后在 Project name 字段中输入 ProfileExpts。最后,单击 Finish。
设置阶段设置 WebSphere 测试环境
在我们开始概要分析之前,您必须创建和配置 WebSphere Test Environment(WTE)服务器的实例。一般来说,所需的 J2EE 应用程序资源(JDBC、JMS、JAAS等等)是在此阶段配置的。要创建 WTE 服务器实例,请遵循这些步骤:
- 选择 Window =>Open Perspective =>Other =>Server。
- 在 Sever 透视图的 Server Configuration 视图中,使用上下文菜单并且选择 Servers => New => Server and Server Configuration来创建新的 WTE 服务器实例。
- 在接下来的 Create a New Server and Server Configuration 对话框中,为 Server name输入 ProfileServer,为 Folder 输入 Servers,然后为 Server type选择 WebSphere Version 5.0 =>Test Environment。最后,单击 Finish。
- 将项目与 ProfilerServer 相关联。如图 4 所示,将 ProfileExpts 项目添加到 ProfilerServer实例中。
图4. Server 透视图--将项目添加到服务器中
- 在概要分析的模式下启动服务器。从 Server 透视图的 Servers 视图中,选择 ProfilerServer,然后从上下文菜单选择 Profile 菜单,如图 5 所示。
图5. 以概要分析的模式启动服务器
配置概要分析的选项
启动 ProfilerServer 使各个嵌入的概要分析代理显示出来。选取选项(如图6所示)以选择您想要监控的代理。此处显示的 Process ID (PID)值与服务器启动时操作系统分配的 Application Server V5.0 PID 相对应。
图6. 加入概要分析代理
单击 Next以继续进行 Profiler 的配置过程。
在下一个对话框中,您可以选择指定 Profiling Project 和 Monitor。而在本例中,保留缺省设置,并选择 Next。
要收集相关的性能数据,必须除去所有系统级和基础体系结构级包,而仅仅包括特定于应用程序的包。为了简化这一过程,Application Developer 提供了三个预定义的过滤器集,其中,WebSphere J2EE 过滤器集是最全面的一个。选中 WebSphere J2EE 复选框,如下所示:
图7. 指定概要分析过滤器
共2页: 1 [2] 下一页 |