分析 Java WebApps

Posted

技术标签:

【中文标题】分析 Java WebApps【英文标题】:Profiling Java WebApps 【发布时间】:2012-12-11 13:08:31 【问题描述】:

在尝试使用 JVisualVM 分析我们的 WebApp 时,我遇到的问题是很多有趣的东西都隐藏在我们的 ApplicationServer 的方法后面。

我希望有一个工具可以让我分析服务器内部的完整 web 应用程序,但不分析服务器本身或可能在同一服务器上运行的任何其他 web 应用程序。基本上我认为服务器本身应该能够提供类似的东西,但我从未听说过任何服务器中有这样的功能。有人知道这样的功能吗?

我想补充一点,我已经使用 JVisualVM 对我的网络应用进行了概要分析...

【问题讨论】:

【参考方案1】:

您可以使用VisualVm 并连接到您的应用服务器。在那里,您可以分析您的应用程序。您还可以通过 JMX 连接到远程应用服务器。

【讨论】:

【参考方案2】:

在不分析服务器的情况下分析 Web 应用程序实际上并不可行,因为分析器总是查看整个 JVM。

您可以定义入口点以自动启动和停止分析,但这并不是必需的:只需将您的方法调用记录过滤器设置为您的 Web 应用程序的包,您将只会看到您感兴趣的类中的方法调用in,没有容器周围的堆栈帧。

在JProfiler 中,这是通过打开会话设置并定义一个包含性过滤器来完成的:

免责声明:我公司开发 JProfiler。

【讨论】:

感谢您的评论,我会尝试的,听起来是最好的方法。我在想那里可能有类似 Profiling App Server 的东西。但是你当然是对的,分析总是将整个 JVM 考虑在内。不过,我认为专用 App Server 可以比从外向内查看的工具更精确地分析其 WebApp。【参考方案3】:

您也可以将 VisualVM 连接到服务器的进程以对其进行分析。请参阅Working with Remote Applications 和Connecting to JMX Agents Explicitly 以供参考。

【讨论】:

以上是关于分析 Java WebApps的主要内容,如果未能解决你的问题,请参考以下文章

如何分析java Thread DUMP

转载常用 Java 静态代码分析工具的分析与比较

Java笔记---ArrayList源码分析

java程序分析题?

谁能帮我把这个java代码分析一下我被绕晕了

适用于 Linux 的 Java 分析工具 [关闭]