Tomcat 8.5.33 Java WebApp的运行速度突然变慢了

时间:2018-12-05 15:04:06

标签: java performance tomcat log4j2 catalina.out

我有一个Java Web应用程序,该Java Web应用程序是用Java 8开发的,可以在Oracle Linux Server 7.5上运行的两个tomcat 8.5.33集群服务器上进行良好部署。问题如下。

战争在过去几周内一直持续进行,没有任何问题,但事实是,战争突然开始非常缓慢。

调查之后,我想出了一些原因和解决方案,但似乎没有一个是造成我问题的原因。

起初,我以为可能是内存泄漏之类的问题,但是在发现情况并非如此之后,重新启动系统以防万一,并给tomcat提供更多的内存来使用,但没有任何效果。我还发现,问题可能是由catalina.out文件太大引起的,事实并非如此。

查看tomcat生成的日志时,除了:

05-Dec-2018 13:51:28.412 SEVERE [main] org.apache.catalina.ha.deploy.FarmWarDeployer.start FarmWarDeployer can only work as host cluster subelement!

这似乎是一个群集错误,但是正如我调查的那样,这不应该是导致我出现问题的原因,除了该日志外,它还在不断记录日志:

05-Dec-2018 15:09:16.832 FINE [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.session.ManagerBase.processExpires Start expire sessions StandardManager at 1544018956832 sessioncount 1

05-Dec-2018 15:09:16.833 FINE [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.session.ManagerBase.processExpires End expire sessions StandardManager processingTime 1 expired sessions: 0

奇怪的是,在我的webapp日志中,您可以看到日志之间传递了太多时间。每次调用servlet时,这种情况都会随机发生,直到一切正常为止,直到出现一个随机日志(随机,因为有时它从一个日志开始,而另一时间又在另一个日志),日志每10秒开始写入一次。

Log4j2 2.11用于日志,这是一些日志的示例:

  
    

05/12/2018 11:53:18信息

         

05/12/2018 11:53:18信息

         

05/12/2018 11:53:18信息

         

05/12/2018 11:53:18信息

         

05/12/2018 11:53:38信息

         

05/12/2018 11:53:48信息

         

05/12/2018 11:53:58信息

         

05/12/2018 11:54:08信息

         

05/12/2018 11:54:18信息

         

05/12/2018 11:54:28信息

         

05/12/2018 11:54:38信息

         

05/12/2018 11:54:48信息

         

05/12/2018 11:54:58信息

         

2018年5月12日11:55:08信息

  

1 个答案:

答案 0 :(得分:1)

在我们的系统中有同样的问题。在我们的例子中,它是由用来启动Tomcat的Linux用户引起的,它没有所有Tomcat Apps所需的足够特权,因此我只是通过使用 sudo 命令来启动它来解决它

sudo $CATALINA_HOME/bin/startup.sh

我没有有关为什么能解决问题的信息,以及造成所有速度缓慢的原因,以及时间的原因(只是想尽快解决)。希望这适合您。