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 對應用程序進行概要分析的過程可以分為以下四個步驟:
圖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 服務器實例,請遵循這些步驟:
圖4. Server 透視圖--將項目添加到服務器中
圖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] 下一頁 |
原文轉自:http://www.anti-gravitydesign.com