使用 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 应用程序的主要内容,如果未能解决你的问题,请参考以下文章