Java有许多的性能分析工具,可以帮助我们弄清楚这个问题,但是我们应该使用哪一款工具呢?
为了做出正确的选择,我列出性能分析应满足一些最低要求:
1.必须包括对应用程序的类、方法及时间的监测
2.必须包括对内存的监测
3.必须具有易用性
我配置了一个使用RESTful接口的Spring应用程序,使用MongoDB作为数据存储,还使用Solr搜索,并在Tomcat服务器上部署。
参考工具:
VisualVM是一个资源分析工具,一直从JDK 6更新到7.它默认内存和CPU的监视。它可以告诉你哪个类和方法消耗资源,但它不会显示代码流程。
JProfiler很容易安装,并且通过向导,你可以选择应用服务器用来运行应用程序。我不得不选择使用JPofiler应用服务器的主目录,以及向导 生成的一个单独的启动脚本。然后运行服务器。在监听会话的过程中,它会提供了几个选项。它可以记录内存的使用和CPU的使用率。在查看CPU的使用率同 时,可以看到执行路径。这让我看到应用程序大部分时间都花在请求上。我们可以将IntelliJ插件安装到IDE上,那么运行JProfiler会更加便 利。比如,可以直接帮我启动Tomcat.
YourKit是我在另一个项目中偶然发现的一款性能分析工具。它的安装很简单。安装时有一个选项,可以安装一个插件到我的IDE.安装后,运行应用程 序,使用该插件,它会自动连接到YourKit.它有一个漂亮的用户界面可以查看到内存和CPU的监测,同时也可以看到请求的执行路径。
我刚开始创建JProbe时遇到点困难。安装并不是直接完成,我需要对它进行配置。它采用了类似JProfiler一样的设置。它会在你的Tomcat 目录中生成启动脚本。可以通过脚本启动服务器并监听会话。它的界面包含有按钮和表格,其中可以看到内存的使用,但无法在进程中找到执行路径。
听到TC Server有Spring Insight监控界面,于是我兴奋地尝试了一下。安装完成后,并设置成TC Server的开发者版,然后部署应用程序在TC Server上。我查看Insight界面,它可以很好的监视类和方法,并能看到完成这个方法用了多少时间。我还能看到输入参数值,以及返回值。由于我的 应用程序是基于Spring的,Spring Insight能够提供非常有用的数据。TC Server插件在IDE上的配置与Tomcat的配置类似。SpringSource工具套件就自带Spring Insight.
结论
看到这五款性能分析工具,我可以肯定地说,它们都非常不错。如果你有基于Spring的应用程序,那么选择Spring Insight显然是最佳的。它一直是免费的,但你需要部署你的应用在TC Server上。
如果你想监听本地和远程的进程,我会选择JProfiler或YourKit.这两个也可以帮助Spring Insight来监测、找到性能瓶颈。
JProfiler和YourKit已经能满足我的上述要求。JProfiler、YourKit和Spring Insight都可以跟踪应用程序的类和方法的流向。JProfiler和YourKit可以显示内存使用情况。虽然Spring Insight不可以显示内存使用情况,但它可以很好的显示吞吐量的趋势。这三款性能分析工具功能很清楚,不混乱,而且容易使用。最后,他们都有自己的 IDE插件。希望本文能帮助你做出正确的选择。
相关推荐
java性能分析工具-yourkit破解版下载与使用,本资源仅限学习交流使用。
Jprofiler使用介绍--java性能分析工具中文帮助.pdf
在网上看到的两篇文章,收集后分享给大家。
基于jetty嵌入式容器的java性能分析工具,内嵌H2 database,以图表形式直观展
本次主要上传从官网下载的、分析java服务器相关内存、CPU、线程运行状态的Jprofiler工具,用于后续学习了解JAVA的JVM以及线程并发等相关知识,同时加深一些并发锁应用的理解
1.JProfiler是一个ALL-IN-ONE的JAVA剖析工具 2.可以方便地监控Java程序的CPU 3.内存使用状况 4.能够检查垃圾回收 5.分析性能瓶颈! 6.可以追踪本地调试代码时各个网关,数据库,页面等执行占用时间。
可以用来分析gc日志 有图表显示,支持jdk1.6
——学习参考资料:仅用于个人学习使用! 本代码仅作学习交流,切勿用于商业用途,否则后果自负。若涉及侵权,请联系,会尽快处理! 未进行详尽测试,请自行调试!
2.YourKit,java性能分析工具;3.Jetm,java程序执行时间测量工具;4.Arthas,java诊断工具; java的分析工具有以下几种 1.VisualVM VisualVM是一个java应用程序性能分析和运行监控工具,可以监控、分析线程信息...
JAVA性能瓶颈和漏洞检测工具
Linux与Java性能跟踪与分析工具.ppt ,讲得很不错,值得你拥有
Java几款性能分析工具的对比
java dump 堆栈 dumpAnalyzer 分析,在日常工作中,经常会遇到,系统跑着跑着就会出现性能问题,CPU居高不下。这个时候我们就需要对系统的堆栈信息进行分析。这里就介绍如何使用IBM内存检测工具(dumpAnalyzer)。
最新的java性能分析工具,javOSize.jar
java 性能监控分析,内存监控,内存使用,垃圾回收
JAVA内存占用分析:查找程序代码资源未释放问题 JAVACPU占用分析:垃圾回收占用内存问题
java 性能分析工具(gc-analyzer,HeapAnalyzer,jca433),使用非常方便
Java性能分析神器-JProfiler及破解工具,11版本64位,包含支持11及以前版本破解器,禁止商业用。
dumpAnalyzer图形化进行内存分析,可以很方便的知道系统里面什么地方存在性能瓶颈
可以作为Java应用程序性能分析和运行监控的工具。开发人员可以利用它来监控、分析线程信息,浏览内存堆数据。系统管理员可以利用它来监测、控制Java应用程序横跨整个网络的情况。Java应用程序使用人员可以利用它来...