关闭

使用VPA快速洞悉Java应用性能瓶颈

发表于:2010-12-06 10:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  清单 4. runjprof:calltree

> cd /d c:\ibmperf\bin
> setrunenv
> java -Xrunjprof:callflow,raw_cycles,start -jar bookstore.jar

  然后,打开图书索引文件。

  文件读取结束后,关闭 bookstore 小程序。

  在当前目录生成了一个 log-rt.xxx文件。将这个文件重命名为 log-rt.xxx.jprof,Call Tree Analyzer 就可以打开这个 Call Tree 文件。

  分析采样结果

  使用 VPA 打开采样数据文件,VPA 会根据性能数据的文件类型,自动打开相应的性能分析工具。VPA 提供了大量图型的和文字的视图,帮助用户从不同角度分析性能采样。

  分析抽样结果

  使用 Profile Analyzer 分析 Java 程序的性能问题时,编辑器、Source Code 视图和 Java Hierarchy 视图是比较常用的控件。

  编辑器可以帮助用户找到 Ticks 最多的方法。如图 2,tprof_e.out 打开后,编辑器按照"Process > Module"或者"Process > Thread >Module"等不同分层模式以树状结构列出了采样到的进程、线程和模块。JITCODE 模块是 Java 进程中 Ticks 最多的模块,而 BestAuthor$1.valueChanged 方法是 JITCODE 模块中 Ticks 最多的方法。

▲图2 Profile Analyzer 的编辑器

  Source Code 视图可以帮助用户找到 Ticks 最多的代码行。在编辑器中双击方法 BestAuthor$1.valueChanged,VPA 会弹出对话框询问这个方法相应的源文件。如图 3,为方法 BestAuthor$1.valueChanged 指定源文件后,通过 Source Code 视图,可以找到 Ticks 最多的代码行。这样的代码行很有可能是程序的性能瓶颈。

▲图3 Source Code 视图

53/5<12345>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号