您的位置:首页 > 编程语言 > Java开发

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

2008-04-10 02:19 633 查看
尽管分析简单的应用程序通常是一项简单的任务,但将分析器设置为在 Web 服务器或应用服务器上运行需要一些额外的步骤。然而,在 NetBeans IDE 中配置 Profiler(以下称为 NetBeans Profiler)通常一次即可轻松完成。NetBeans Profiler 不但支持 Solaris、Windows 和 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 控制台。



[align=center]
图 1: NetBeans Profiler 控制台
[/align] 此处可以执行许多分析任务,其中包括以下任务:
l      启动、停止或重置结果缓冲器。l      切换分析任务。l      查看虚拟机遥测。l      查看实时结果或拍摄数据快照;还包括打开、删除、导出或加载快照。图 2 显示了 NetBeans IDE 中分析任务的向导。



[align=center]
图 2: NetBeans IDE 中分析任务的向导
[/align] 图 3 显示了 CPU 性能测试。



[align=center]
图 3: CPU 性能测试
[/align] 图 4 显示了线程。



[align=center]
图 4: 线程
[/align] 下载与初始设置开始执行分析任务前,首先下载以下内容:
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。

如果选择 Remote,NetBeans 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)日志。



[align=center]
图 5: 监视线程
[/align] 从 IDE 中启动实例的步骤:
1.         从顶部的 Window 菜单中,选择 Runtime > SJSWS 7.0。2.         右键单击配置名称,然后从上下文菜单中选择 Start Instance。图 6 显示了 Runtime 窗口。



[align=center]
图 6: 运行时窗口
[/align] 使用可视化 GC 插件查看垃圾回收统计信息
如果已在 NetBeans IDE 中安装了可视化 GC 插件,则可在此查看垃圾回收的统计信息。图 7 显示了一个示例。



[align=center]
图 7: 垃圾回收统计信息
[/align] 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: