在尝试使用 JVisualVM 分析我们的 WebApp 时,我遇到的问题是很多有趣的东西都隐藏在我们的 ApplicationServer 的方法后面。
我希望有一个工具可以让我分析服务器内部的完整 web 应用程序,但不分析服务器本身或可能在同一服务器上运行的任何其他 web 应用程序。基本上我认为服务器本身应该能够提供类似的东西,但我从未听说过任何服务器中有这样的功能。有人知道这样的功能吗?
我想补充一点,我已经使用 JVisualVM 对我的 Web 应用程序进行了概要分析......
在尝试使用 JVisualVM 分析我们的 WebApp 时,我遇到的问题是很多有趣的东西都隐藏在我们的 ApplicationServer 的方法后面。
我希望有一个工具可以让我分析服务器内部的完整 web 应用程序,但不分析服务器本身或可能在同一服务器上运行的任何其他 web 应用程序。基本上我认为服务器本身应该能够提供类似的东西,但我从未听说过任何服务器中有这样的功能。有人知道这样的功能吗?
我想补充一点,我已经使用 JVisualVM 对我的 Web 应用程序进行了概要分析......
您可以使用VisualVm并连接到您的应用程序服务器。在那里,您可以分析您的应用程序。您还可以通过 JMX 连接到远程应用程序服务器。
在不分析服务器的情况下分析 Web 应用程序实际上并不可行,因为分析器总是查看整个 JVM。
您可以定义入口点以自动启动和停止分析,但这并不是必需的:只需将您的方法调用记录过滤器设置为您的 Web 应用程序的包,您将只会看到您感兴趣的类中的方法调用,而无需容器周围的堆栈框架。
在JProfiler中,这是通过打开会话设置并定义一个包含性过滤器来完成的:

免责声明:我公司开发 JProfiler。
您也可以将 VisualVM 连接到服务器的进程以对其进行分析。请参阅使用远程应用程序和显式连接到 JMX 代理以供参考。