哪种Java分析器更好:JProfiler或者YourKit?
哪种概要分析器更适合通用概要分析和堆分析?我们90%的应用程序都是具有大量数据库和数字处理功能的独立命令行程序。其他10%是webapps / servlet容器应用程序(JSP很少,没有脚本!)。目标用户将是具有5-10年行业经验的高级软件工程师。我们仅需要对Sun JDK 5和更高版本的支持。
在撰写此问题时(2008-10-02),JProfiler的版本为5.1.4,而YourKit的版本为7.5. 看来YourKit 8.0即将发布。
解决方案
如果我们使用的是jdk> = 1.6_07,则可能还需要查看捆绑的jvisualvm。
为了对命令行程序进行快速而肮脏的性能分析,JIP的确非常有效。
我只使用了JProfiler(和一些JProbe)。据我所知,YourKit的局限性在于它们似乎不支持JDK 1.4.2. 对于许多人来说,这不是一个问题,但是可能是。
我使用过yourkit,它是一个非常出色的探查器,这是我在Java中使用过的最好的探查器(这些年来,我使用过许多其他探查器)。话虽这么说,但我从未使用过jprofiler,所以我无法直接进行比较。
多年来一直使用JProfiler,对此非常满意。 IntelliJ似乎在YourKit和JProfiler之间来回切换他们的建议,所以我猜他们的功能集是相似的。我相信他们都有试用版。
我同时使用了JProfiler 4和YourKit 7.5,而YourKit胜出了。与JProfile相比,它的侵入性要小得多,因为我将很高兴在安装了YourKit代理的情况下运行生产服务器,而JProfiler绝对不会这样做。
而且,YourKit随附的分析工具更加直观(我认为),从而更容易找出问题的根本原因。
+1为yourkit-在Windows的开发箱上使用7.0
暂时不使用JProfiler-无法评论,因为在此之前它们可能已得到改善。
免责声明:替代答案。
他们提供了用于生产监控/性能分析的各种产品,与其他主要用于开发时间的工具类似:http://www.jinspired.com/products/jxinsight/
这篇关于JDBInsight的服务器端的文章:http://www.theserverside.com/news/thread.tss?thread_id=13488
免责声明:我与该公司没有任何关系。
顺便说一句,我们可能要考虑使用Netbeans分析器-很好。但是我没有使用我们提到的两个。
我用过YourKit。我没有使用过JProfiler。我以前使用过OptimizeIt。我对YourKit有很好的意见。这是非常稳定的,良好的GUI和良好的功能列表。我注意到的一项独特功能是具有和不具有等待时间(例如I / O豁免)的CPU性能分析。
它的价格也非常合理(我认为5个许可证的价格约为1100美元)
我已经广泛使用了JProbe,OptimizeIt和YourKit,它们都是功能强大的工具。在这3种中,我最喜欢的是YourKit。
JProbe的一个杀手级功能是能够从性能快照转移到带注释的源(带有计数和计时)。我发现这非常有用。
YourKit很棒。我们可能还想检查一下NetBeans内置的事件探查器,它非常酷。
你的包
它开销低,稳定,易于在要分析的JVM上安装(仅一个dll)且功能强大。
对于分析堆转储,它是唯一接近Eclipse Memory Analyzer的探查器。
除了JXInsight之外,没有其他工具可以执行真实的数据库事务分析:
http://www.jinspired.com/products/jxinsight/concurrency.html
http://www.jinspired.com/products/jxinsight/olapvsoltp.html
考虑到我们在SPECjvm2008基准测试中将netbeans profiler的性能提高了20倍,而yourkit 100x的性能提高了100%,因此JXInsight的Probes技术也是唯一可以在生产中运行的技术。
http://blog.jinspired.com/?p=272
我是JXInsight的架构师,所以我当然完全有偏见,但与此同时,我可能比Java行业中的大多数人更有资格提出这样的主张,因为我在过去的8年中一直致力于某些方面的性能分析。生产中对Java / J2EE应用程序的要求。
我应该指出,JXInsight是为软件性能工程师而设计的,而不仅仅是偶尔进行的即席分析会话。我们拥有4000多个系统属性来配置运行时库和600多个技术扩展库,因此除非在开发,测试和生产过程中要解决和/或者使用相同工具的复杂问题非常重要,否则它可能会显得过高。
亲切的问候,
威廉
我使用的是JProfiler,总体看来还可以。但是,它的"动态仪表"功能对于小方法却有很大的偏见。
我正在使用TPTP探查器。它的最佳功能是可以很容易地将其集成到Eclipse中,但是坏的是它使Eclipse的运行速度变慢。
绝对是YourKit ...它仅用1克堆就可以打开4个演出堆。而具有相同堆分配的Jprofiler崩溃了!
我都使用了这两种方法,现在我的投票肯定是JProfiler(在当前版本6中),因为它易于使用并且具有许多有用的添加功能。在以前的版本中,YourKit在较大的快照中具有一些优势,但现在已不复存在。
段落数量不匹配