Tomcat 特定的 Web 应用程序速度变慢



今天在我工作的公司,我们收到了关于我们的一个网络应用程序无法正常工作的报告。

我们做的第一件事是查看硬件利用率:

  • 处理器:5%;

  • 内存: 68%;

  • 磁盘 IO 容量:4%;

  • 网络:1Mbps/1Gbps;

经过一些测试,我们发现,确实,在网络应用程序超时后的一段时间内,Web应用程序页面没有加载。

完全相同的 tomcat 实例中的其他 Web 应用程序一如既往地运行良好且快速,它们没有问题。我们尝试重新启动/重新加载 Web 应用程序,但它仍然无法正常工作。最后,我们重新启动了tomcat,暂时纠正了该问题。

自昨天工作正常以来,没有重新启动或重新部署。我们认为这可能是某种周期性错误,因此我们希望尽快纠正它。

有谁知道我们可能采取的任何步骤来调查它可能是什么?

这似乎与锁定 IO 有关。

如果您使用的是 linux,则首先要做的是使用命令检查打开的文件 lsof .如果你看到你的应用打开了很多文件,你必须签入每个输入流/输出流都已关闭的代码(即使在异常处理代码中也是如此(。

问题的另一个常见来源与线程不足有关,请参阅 http://tomcat.apache.org/tomcat-9.0-doc/config/valve.html#Stuck_Thread_Detection_Valve

最新更新