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

Java性能分析神器-JProfiler 本地调试JBoss

2016-12-29 13:59 260 查看
Jprofiler这款工具极其便于对部署在Java应用服务器上的Java应用程序进行性能分析。我们既可以本地调试我们的开发环境,也可以远程调试生产环境,这里先简单介绍一下在本地开发环境上使用Jprofiler。

环境:

JDK: 1.7

JBoss: 6.4

OS: Window 64 bit

首先打开JProfiler的时候,就会给你一个提示,请创建你希望的Session, 选择profile application server:



或者你可以略过,进入Jprofiler的主界面之后再创建:



接下来就是一步一步的傻瓜式的操作。

选择应用服务器的类型:



选择Local还是remote,这里是local:



选择JVM的版本:



启动模式,这些启动模式的区别请详见帖子 Java性能分析神器-JProfiler详解(一)



选择应用服务器的启动脚本。在这里,Jprofiler会为你的启动脚本增加一些启动项,主要是启动Jprofiler Agent并配置基本的profile项



具体是把如下内容写到Jboss的启动脚本里(也就是JVM的启动属性):

set JAVA_OPTS=-agentpath:C:\PROGRA~1\JPROFI~1\bin\WINDOW~1\jprofilerti.dll=port=8849,nowait,id=110,config=C:\Users\j18li.jprofiler9\config.xml -Djboss.platform.mbeanserver -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl %JAVA_OPTS%

可以看到,指定了Jprofiler Agent的启动目录,和Jprofiler的配置脚本(C:\Users\j18li.jprofiler9\config.xml )

并生成一个新的Jboss启动脚本:

standalone_jprofiler.bat

最后,选择端口!



这时,任何时候,你通过standalone_jprofiler.bat启动你的Jboss后,你就可以通过Jprofiler attach到对应的JBoss应用上了

接着,假设你已经启动了Jboss, 然后就可以通过quick attach,把Jprofiler挂到你的应用服务器上:





之后,JProfiler会让你选择需要进行性能监控的项



一般来说,在本地调试,也就是说,在你的开发环境上,你可以选择Instrumentation,这时会对包括所有的函数调用次数,数据等进行详细的监控,虽然会有比较大的开销,但JProfiler支持的所有功能你都能够用上,能够对整个App进行全面的性能监控。但如果工程很大,还需要配合filter,只监控你关心的package或classes。

如果是在运行的产品环境上,一般选择Sampling,这时会通过采样的方式(每隔一段时间收集一些数据)来做性能监控,这种模式下对系统的消耗最小,也最安全,甚至可以用在产品环境上。

因为这个例子是local,我们就选择Instrumentation.

连上之后,我们就可以看到JProfiler开始监控你的JVM了



但具体我们怎么利用Jprofiler来找到性能瓶颈,还看下回分解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jboss性能分析