java - 如何对tomcat进行端到端性能分析

标签 java performance spring memory tomcat6

我有一个网络应用程序,性能很好,然后突然一个页面请求会卡住并超时,然后一切都会恢复正常,然后发生同样的事情。

我很难弄清楚这一点,因为可以分析的变量太多了。

有没有什么方法:一个工具或步骤计划可以帮助我深入了解这个问题,并基本上分析从页面请求到数据库调用的整个过程并识别潜在的问题?我使用 New Relic 和 MAT,我刚刚开始使用 Javamelody,但说实话:该关注哪里?通常,当页面卡住/超时时,不清楚瓶颈在哪里。需要注意的阈值/危险信号是什么?

亲切的问候, 马克

最佳答案

对于服务器端,我发现 jstack通常是比分析器更好的工具。主要是因为它速度快、命令行并且已经随服务器的 JDK 一起安装。

Web 应用程序间歇性变慢的一个典型原因是线程正在等待释放某些锁。

当网络应用程序出现卡住时运行jstack,并查看线程以查看哪些线程卡在锁上以及锁是什么。这是一个快速tutorial因为一开始听起来可能令人畏惧,但实际上很简单。

关于java - 如何对tomcat进行端到端性能分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13732396/

相关文章:

java - Java套接字服务器-客户端2路聊天程序未得到预期结果

java - 按下Enter后如何防止StyledText中出现新行

java - 用逗号分隔的 @PathVariables 映射的 Rest 端点

java - 为什么 DataSourceTransactionManage 不回滚而 HibernateTransactionManager 回滚?

java - 通过navigator而不是java传递json对象

java - Android 和 Garmin FR230 (SDK 1.3.x) 之间通过 BLE 的直接消息通信失败

c++ - 封装与性能

javascript - if+覆盖变量与 if+else 条件。哪个更好,性能明智?

java - 对于无限运行的查询,哪个是更好的 Java 程序或存储过程

spring - Spring Integration 的带注释的配置用法