我有一个在 Apache 2.2、tomcat 6 上运行的应用程序,它使用 struts 框架、hibernate 框架。我们在后端使用 Mysql。我们还与第三方服务器交互以发出用户请求的一些请求。由于保密限制,我不能确切地告诉你我们做了什么,但我可以向你保证,我们没有定制任何东西,我们使用 Apache、tomcat 等可用的最通用的构建。我们使用 Linux 平台。许多访问者访问我们的网站,他们首先使用支付网关付款,然后购买产品。要购买产品,我们必须再次访问第三方网站。它是一种简单的电子商务设置。问题是有时服务器会挂起。因为它没有响应,并且当我们单击(我知道)由 tomcat 容器提供的链接时,它不会被加载。这是我需要帮助的:
- 由于我的主机是在一个无头 linux 平台上,请给我推荐一个好的调试工具。
- 我们已经登录并打印几乎所有异常的堆栈跟踪(如果它们发生),我们总是监视 catalina.out,但是当服务器挂起时,我们看不到 catalina.out 上的任何活动。也许这可以给一些人一个线索。
- 我们为休眠禁用了 show_sql,我们尝试启用它,但仍然不足以确定应用程序是否卡在查询上。我们还启用了 slow_sql 日志,但没有显示任何重要的查询。我们如何检查我的应用程序是否卡在查询上?
- 如果我的应用程序没有卡在查询上,我怎么知道它卡在哪里?
- 我怎样才能得到java堆栈转储?
- 有什么可能的方法来解决这样的问题。
欢迎提出任何建议。我提前感谢大家阅读我的问题,并感谢你们花时间写答案。