使用开源的Profiler来测试你的Java应用程序的性能

王朝java/jsp·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

最近一些朋友谈到了系统性能分析的问题。想分析一个基于Java的系统为什么会慢最好的方法就是使用Profiler.

profiler的原理是通过一些驱动和jvm绑定来读取jvm的运行时的情况,得到从类的加载到执行到结束整个过程中时间情况,从而知道到底那些函数的那些方法让你的系统变的很慢。

比较好的开源Profiler工具有Extensible Java Profiler和Eclipse Profiler Plugin

1 Extensible Java Profiler一般用来测试桌面应用程序。

使用以下的方法来运行一个程序

run-enabled application-main-class

java –Xruntracer application-main-class

程序结束以后会产生一个tracer-output.bin.gz

然后使用EJP Presenter打开这个生成的文件。通过选择自己感兴趣的类,就可以查看到执行过程中各个方法的调用时间了。

2 Eclipse Profiler Plugin通常用于测试WebApplication

以tomcat为例,在catalina.bat中加入以下配置

set _EXECJAVA=%_RUNJAVA%

set MAINCLASS=org.apache.catalina.startup.Bootstrap

set ACTION=start

set SECURITY_POLICY_FILE=

set DEBUG_OPTS=

set JPDA=

following line:

set JAVA_OPTS=-XrunProfilerDLL:1 -Xbootclasspath/a:jakarta-regexp.jar;profiler_trace.jar;commons-lang.jar -D__PROFILER_PACKAGE_FILTER=__A__%MAINCLASS%;__M__sun.;__M__com.sun.;__M__java.;__M__javax.;__M__org.apache. -D__PROFILER_TIMING_METHOD=1

来绑定jvm,这里的__A__表示启动类 __M__表示不监视的类

然后进入eclipse,在run面板的profiler里面设置要要监视的类,然后启动tomcat,运行的结果可以在下面的面板中看到。包括执行时间,调用率等等。

当遇到性能瓶颈的时候,不妨自己动手测试一下,说不定能发现不少问题。对代码的重构能产生帮助

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航