將NetBeans Profiler集成到Sun Java System Web Server 7.0

儘管分析簡單的應用程序通常是一項簡單的任務,但將分析器設置爲在 Web 服務器或應用服務器上運行需要一些額外的步驟。然而,在 NetBeans IDE 中配置 Profiler(以下稱爲 NetBeans Profiler)通常一次即可輕鬆完成。NetBeans Profiler 不但支持 SolarisWindows Linux (Ubuntu) 平臺下的各種分析任務,它還有許多優勢。這些優勢包括:

l      動態字節碼重構,此功能可在運行時從 Java 虛擬機提取字節碼並向其插入字節碼,以生成方法入口、出口等事件。然後,藉助該事件數據,NetBeans Profiler 會收集和顯示相關性能統計信息。這意味着無需重新啓動應用程序即可在運行時管理分析任務。例如,可收集 CPU 性能數據,重置結果,然後啓用線程監視,以便查看許多有用的統計信息,包括有關內存使用和線程管理的信息。

l      對性能跟蹤任務提供強大支持,如使用 CPU 性能分析器、內存分析器和線程分析器執行的跟蹤任務。NetBeans Profiler 還包括測定所選代碼片段執行時間的代碼片段分析器,因此不再需要將 System.currentTimeMillis() 包含進代碼。

l      NetBeans IDE 緊密集成,它在同一環境下擁有代碼瀏覽器和調試器。

l      低開銷,同時具有高性能。

l      支持本地和遠程分析,靈活方便。

目錄

l       GUI 概述

l      下載與初始設置

l      集成步驟

l      參考

 

GUI 概述

本部分主要介紹相關 GUI

1 顯示了 NetBeans Profiler 控制檯。

1: NetBeans Profiler 控制檯

 

此處可以執行許多分析任務,其中包括以下任務:

l      啓動、停止或重置結果緩衝器。

l      切換分析任務。

l      查看虛擬機遙測。

l      查看實時結果或拍攝數據快照;還包括打開、刪除、導出或加載快照。

2 顯示了 NetBeans IDE 中分析任務的嚮導。

2: NetBeans IDE 中分析任務的嚮導

 

3 顯示了 CPU 性能測試。

3: CPU 性能測試

 

4 顯示了線程。

4: 線程

 

下載與初始設置

開始執行分析任務前,首先下載以下內容:

l      Java 2 Platform, Standard Edition (J2SE Platform) 5.0, Update 4或更高版本。

l      NetBeans IDE 5.0 5.5

l      NetBeans Profiler 5.0 5.5

l      可選。NetBeans IDE plug-in for Web Server 7.0,此程序可管理 IDE 中的 Web Server實例。請參見“使用 NetBeans 插件管理實例”部分。

有關如何在 IDE 中安裝插件和管理 Web Server 7.0 實例的詳細信息,請參見文章 Deploying Web Applications to Sun Java System Web Server 7.0 With NetBeans 5.x

l      可選。NetBeans IDE 中的可視化 GC 插件,它以圖形方式顯示垃圾回收的統計信息。請參見“使用可視化 GC 插件查看垃圾回收統計信息”部分。

接着,執行以下操作:

1.          啓動 NetBeans IDE

注意頂部的 Profile 選項卡。

2.          在目標虛擬機上運行一次校準:從頂部的 Profile 菜單中,選擇 Advanced Commands > Run Profiler Calibration

集成步驟

 

本部分描述瞭如何將 NetBeans Profiler 集成到 Web Server 7.0 中。

配置 Web Server 實例
首先,配置 Web Server 實例,以便從管理命令行界面 (CLI) wadm 加載 NetBeans 代理庫。有關 wadm 的詳細信息,請參見 Sun Java System Web Server 7.0 CLI 參考手冊

注意:將所有命令鍵入到一行,儘管某些內容由於頁面寬度限制會換到下一行。

1.         確保管理服務器正在運行,且已與其建立了連接。下面是命令行和輸出示例:

$ wadm -u admin -w /space/admin.pwd

Sun Java System Web Server 7.0U1-Technology-Preview-1 B03/13/2007 11:03

wadm>

 

2.         爲要分析的 Web Server 實例創建 Java 虛擬機分析器:

wadm> create-jvm-profiler --config=test NetBeans

CLI201 Command 'create-jvm-profiler' ran successfully

wadm> list-jvm-profilers --config=test --all --verbose

name enabled

------------

NetBeans true

wadm>

 

3.         添加若干選項,以便在啓動 Web Server 實例後加載代理庫:

wadm> create-jvm-options --config=test --profiler=NetBeans -- -agentpath:/space/netbeans-5.5/

profiler1/lib/deployed/jdk15/solaris-sparc/libprofilerinterface.so=/space/netbeans-5.5/

profiler1/lib,5140

CLI201 Command 'create-jvm-options' ran successfully

wadm> list-jvm-options --config=test --profiler=NetBeans

-agentpath:/space/netbeans-5.5/profiler1/lib/deployed/jdk15/solaris-sparc/

libprofilerinterface.so=/space/netbeans-5.5/profiler1/lib,5140

wadm>

 

4.         部署實例的配置:

wadm>deploy-config test

CLI201 Command 'deploy-config' ran successfully

 

連接 NetBeans Profiler
最後,連接 NetBeans Profiler

1.         NetBeans IDE 中的 Profile 菜單中,選擇 Attach Profiler 以顯示 NetBeans Profiler 嚮導(參見 2)。單擊 Attach Wizard 按鈕。

2.         Target Type 下拉菜單選擇 J2EE Web/App Server 並從 Server Type 下拉菜單選擇 Generic Web/App Server。單擊 Next

3.         在“Select Server location”下選擇 Local Remote

如果選擇 RemoteNetBeans Profiler 會在屏幕底部提示指定遠程系統的配置。在 Hostname 字段中鍵入遠程主機名,然後從下拉菜單中選擇主機的操作系統。

4.         在“Select attach method”下選擇 Direct。單擊 Next

NetBeans IDE
將顯示連接設置並提示用戶查看這些設置。然後,將顯示 Choose Integration Type 屏幕。

5.         選擇 Manual。單擊 Next

此時顯示 Choose Target JVM 屏幕。

6.         根據運行服務器的 Java 平臺選擇“Java5.0_04 and newer”。單擊 Next

此時顯示 Review Integration Steps 屏幕。上一小節第 3 步中已經執行了屏幕上要求的步驟。

7.         啓動 Web Server 實例。

下面是實例中顯示的後續日誌消息的示例:


[15/Mar/2007:11:00:35] info ( 7092): CORE1116: Sun Java System Web Server 7.0U1-Technology-

Preview-1 B03/13/2007 11:03

[15/Mar/2007:11:00:35] warning ( 7093): CORE3283: stderr: Profiler Agent: Initializing ...

[15/Mar/2007:11:00:35] warning ( 7093): CORE3283: stderr: Profiler Agent: Options: >/space/

netbeans-5.5/profiler1/lib,5140<

[15/Mar/2007:11:00:35] warning ( 7093): CORE3283: stderr: Profiler Agent: Initialized

successfully

[15/Mar/2007:11:00:35] info ( 7093): CORE3282: stdout: Profiler Agent: Waiting for connection

on port 5140 (Protocol version: 2)

 

8.         選擇分析任務並單擊 Attach

Web Server
實例將繼續運行。

下面是本地分析任務的輸出示例:

[15/Mar/2007:11:02:06] info ( 7093): CORE3282: stdout: Profiler Agent: Established local

connection with the tool

[15/Mar/2007:11:02:09] info ( 7093): CORE5076: Using [Java HotSpot(TM) Server VM, Version

1.5.0_09] from [Sun Microsystems Inc.]

[15/Mar/2007:11:02:19] info ( 7093): WEB0100: Loading web module in virtual server [test] at [/

search]

[15/Mar/2007:11:02:34] info ( 7093): HTTP3072: http-listener-1: http://kosmo:1894 ready to

accept requests

[15/Mar/2007:11:02:35] info ( 7093): CORE3274: successful server startup

 

使用 NetBeans 插件管理實例
如果已安裝了用於 Web Server 7.0  NetBeans 插件,則可在 IDE 中管理 Web Server 實例。如圖 5(監視線程窗口的屏幕截圖)所示,NetBeans IDE 在左窗格的 Servers 下列出了 Web Server 7.0。窗格底部顯示了 NetBeans Profiler Web server 實例之間的握手消息(handshake messages)日誌。

5: 監視線程

 

IDE 中啓動實例的步驟:

1.         從頂部的 Window 菜單中,選擇 Runtime > SJSWS 7.0

2.         右鍵單擊配置名稱,然後從上下文菜單中選擇 Start Instance

6 顯示了 Runtime 窗口。

6: 運行時窗口

 

使用可視化 GC 插件查看垃圾回收統計信息
如果已在 NetBeans IDE 中安裝了可視化 GC 插件,則可在此查看垃圾回收的統計信息。圖 7 顯示了一個示例。

7: 垃圾回收統計信息

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章