使用 visualvm 分析 Tomcat Web 应用程序

Posted

技术标签:

【中文标题】使用 visualvm 分析 Tomcat Web 应用程序【英文标题】:Profiling Tomcat web application with visualvm 【发布时间】:2012-12-11 05:46:15 【问题描述】:

我正在尝试使用 VisualVM 分析我在 Tomcat 上运行的 Web 应用程序。顺便说一下,我正在使用 Eclipse IDE。我不明白的一件事是,当我在 Tomcat 上启动我的 Web 应用程序,然后开始分析内存使用情况时,我只能从包 org.apache.** 中看到几个类。我想当我查看 Tomcat 的执行日志时,已经实例化了更多的类。

另外,我的 Web 应用程序实际上是使用 Apache CXF 前端开发的 Web 服务。在部署的时候,我可以从日志中看到,Apache CXF 的一些组件已经被实例化了。但是,我在分析结果中找不到任何与 CXF 相关的类。

只有当我启动 Web 客户端发送请求并返回响应时,我才能在分析结果中看到许多与 CXF 相关的类。我怀疑在客户端请求之前应该已经为我的 Web 服务实例化了对象。

一切对我来说仍然很不清楚。非常感谢您的回答。

【问题讨论】:

【参考方案1】:

最好从 CPU 采样开始,如果你不知道哪部分代码慢的话。一旦您更好地了解(基于采样结果)正在发生的事情,您就可以只分析您的 Tomcat 服务器的一部分。请参阅 Profiling With VisualVM, Part 1 和 Profiling With VisualVM, Part 2 以获取有关分析以及如何设置分析根和检测过滤器的更多信息。

【讨论】:

以上是关于使用 visualvm 分析 Tomcat Web 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

使用 VisualVM 分析 tomcat 应用程序

当我打开visualvm分析器时tomcat关闭

使用 VisualVM 和 SSH 远程监控 Tomcat 7 服务器

使用 VisualVM 监控 Java 应用程序

如何在 STS 中使用 VisualVM 分析器?

Tomcat高负载WEB服务器JVM - VirtualVM