【问题标题】:Java Profiler for EJB Applications用于 EJB 应用程序的 Java Profiler
【发布时间】:2009-09-21 11:27:21
【问题描述】:

我有一个部署到本地 Glassfish 服务器的 Web 应用程序,我想对其进行分析,以便查看我的代码的哪些部分被最频繁地访问。该代码由 JSF bean 和 Remote EJB 组成,两者都部署在一个 EAR 中。我尝试使用 VisualVM 来分析我的应用程序,但是,虽然我可以成功连接到 Glassfish 服务器以及我的上下文根,但 VisualVM 似乎没有分析我自己的类(在 com.test.* 命名空间中)。我看到许多 Sun 类和其他依赖项(例如 Lucene)被访问,但没有看到我自己的类的单个实例。

因此我的问题是:我做错了什么还是这是 VisualVM 的一个缺点,我应该为此尝试不同的分析工具吗?

【问题讨论】:

    标签: java performance ejb profile visualvm


    【解决方案1】:

    您可以使用以下任何一种:

    他们中的任何一个都可以连接到远程服务器并对其进行配置。 http://java-source.net/open-source/profilers 中的列表包含一些开源分析器(请注意,许多项目是 API 和库,而不是分析器本身)

    【讨论】:

    • 感谢您的回复,但我认为您误解了我的意思。我重新表述了这个问题,希望我现在问的更清楚了。
    • 您通过分析定义什么?内存消耗、性能、调用堆栈、死锁?
    • 性能(CPU)和内存消耗。例如,我希望看到方法 A 占用了我 20% 的执行时间,而 B 类占用了总内存使用量的 15%。
    • 在这种情况下,visualvm 不适合你(除非你使用了一些我不知道的插件)。我提到的任何分析器都可以帮助您解决这个问题。
    • 谢谢,我试用了 YourKit,它成功地分析了我的课程。我无法让 Eclipse TPTP 工作:( 有没有其他免费的分析器可以做同样的事情?
    【解决方案2】:

    最新版本的 netbeans 有一个分析器。试试看。

    【讨论】:

    • 据我了解,那只是 VisualVM 的嵌入式版本,不是吗?
    • 根据:blogs.sun.com/nbprofiler/entry/five_visualvm_myths_demystified:“NetBeans 探查器有时被错误地称为集成到 NetBeans IDE 中的 VisualVM。这种说法有点内而外,VisualVM 重用了 NetBeans 探查器的一些功能:分析引擎、HeapWalker、线程监视器、UI 组件等。NetBeans 分析器于 2004 年推出,VisualVM 于 2007 年推出。VisualVM - IDE 集成可用于 Eclipse 和 IDEA。”。
    猜你喜欢
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多