Java几款性能分析工具的对比

来源 :网络与信息 | 被引量 : 0次 | 上传用户:lszh123321
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  在给客户的应用程序维护的过程中,笔者注意到在高负载下的一些性能问题。理论上,增加对应用程序的负载会使性能等比率下降。然而,笔者认为性能下降的比率远远高于负载的增加。笔者也发现,性能可以通过改变应用程序的逻辑来提升,甚至达到极限。为了更详细地了解这一点,需要做一些性能分析,自然也要用到一些分析工具。
  Java有许多的性能分析工具,可以帮助我们弄清楚这个问题,但是应该使用哪一款工具呢?
  为了做出正确地选择,笔者列出性能分析应满足一些最低要求:
  1.必须包括对应用程序的类、方法及时间的监测;
  2.必须包括对内存的监测;
  3.必须具有易用性。
  笔者配置了一个使用RESTful接口的Spring应用程序,使用MongoDB作为数据存储,还使用Solr搜索,并在Tomcat服务器上部署。
  
  参考工具
  
  (1)VisualVM
  VisualVM是一个资源分析工具,一直从JDK 6更新到7。它默认内存和CPU的监视。可以告诉你哪个类和方法消耗资源,但它不会显示代码流程。
  (2)JProfiler
  JProfiler很容易安装,并且通过向导,可以选择应用服务器用来运行应用程序。笔者不得不选择使用JPofiler应用服务器的主目录,以及向导生成的一个单独的启动脚本。然后运行服务器。在监听会话的过程中,它会提供了几个选项可以记录内存的使用和CPU的使用率。在查看CPU的使用率同时,可以看到执行路径。这让笔者看到应用程序大部分时间都花在请求上。还可以将IntelliJ插件安装到IDE上,那么运行JProfiler会更加便利。如可以直接帮助启动Tomcat。
  (3)YourKit
  YourKit是笔者在另一个项目中偶然发现的一款性能分析工具。它的安装很简单。安装时有一个选项,可以安装一个插件到IDE后,运行应用程序,使用该插件,它会自动连接到YourKit,其有一个漂亮的用户界面可以查看对内存和CPU的监测,同时也可以看到请求的执行路径。
  (4)JProbe
  笔者刚开始创建JProbe时遇到点困难。安装并不是直接完成,需要对它进行配置。它采用了类似JProfiler一样的设置,会在Tomcat目录中生成启动脚本,可以通过脚本启动服务器并监听会话。界面包含有按钮和表格,可以看到内存的使用,但无法在进程中找到执行路径。
  (5))Spring Insight
  听到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插件。希望本文能帮助读者做出正確地选择。
其他文献
可编程逻辑控制器(PLC),硬件结构与微型计算机基本相同,是一种为工业控制领域而诞生的一种计算机。文中在分析基本PLC的体系结构、工作原理的基础上,通过硬件设计、软件设计,
不断前行:一直在进步的802.11n随着802.11n标准被正式颁布距今已经有较长的一段时间,各大科技新闻的报道中对于这一代表无线技术巨大进步的标准也不再花那么多功夫,相对开始之
越来越多的中国企业开始具有核心的知识产权与不可外泄的商业秘密,因而众多的企业也开始重视信息安全体系的建设。
在新的机遇下,CIO们将成为企业的革新者。企业内部的各个部门独立购买自己专用的IT设备,这种情况迫使企业CIO不得不提早迈向云计算平台。但是这一转变对于CIO的传统角色来说,
期刊
远程桌面是Windows集成的用来远程管理的工具,Windows 7的远程桌面不仅在功能上更加丰富,而且与Windows系统防火墙的关联更加密切,这使得其具有更高的安全性。
2011年,在“十二五”的各项政策下,新兴产业得到了史无前例的推广时机。物联网、云计算都成为未来五年科技市场发展的重要方向。随着平安城市建设项目的大力推进,安防市场也立下
本文讨论企业信息安全建设的体系化方法,提出了一个企业进行信息安全建设的体系化模型。同时,本文讨论了调查问卷设计方法,讨论通过调查问卷收集的信息全面地了解一家企业的
无线打印设备的出现,给办公领域带来了一个很大的便利。无线打印设备不仅帮助办公用户解决了打印文件时耗时耗力的办公烦恼,还帮助摆脱繁琐网线布线的困扰,办公环境也越来越
《eWeek》网络版刊文称,微软于2月22日发布了Windows 7的SP1服务包。这是微软对Windows 7的第一次重大更新。然而由于微软希望使Windows重新成为一款旗舰级的操作系统,因此任何SP包都不可能解决Windows面对的所有问题。《eWeek》网络版因此列出了Windows仍需要尽快解决的10大问题,以下为主要内容:    1 系统仍然过于臃肿    过去多年中,Windows一
很多朋友都曾经问过这个问题,他们认为随着U盘容量的不断增加,U盘代替移动硬盘是迟早的事情,但实际上是不是这样的呢?笔者今天就来跟大家探讨一下。  90年代,我们大部分人使用的移动存储设备都还是1.44M软盘,但那时候我们玩一个DOS软件也就几十K,大的几百K,那时候主流的硬盘也就是几百M。   1997年后,Windows 95、Windows 97开始进入人们的视野,软件也开始逐渐大起来,几十M