我们的应用程序在tomcat服务器上运行。它工作顺利但是当使用此应用程序配置负载平衡服务器时,cpu使用率达到100%。
奇怪的是,当我们查看线程转储时,没有可疑的线程活动。即使java进程的cpu使用率为100%,大多数线程也在等待或停止。当我们删除虚拟IP配置时,它只会达到2%到5%。
我从负载均衡器/虚拟IP配置中了解到它每5秒探测一次8080的服务器端口,只是为了检查端口是否存活。但我认为这只是端口扫描没有别的。在此过程中,catalina.log中的线程转储中都没有标记或此类活动。
有人遇到过这种情况吗?请提供您的想法,因为我无法进一步调试此问题。
如果需要更多信息,请与我们联系。我将用详细信息更新问题。
谢谢,
拉夫
答案 0 :(得分:0)
请看一下这篇文章:https://serverfault.com/a/830052
海报Inna发现,对https://server.tld:8080的单次调用可能会使Tomcat服务器100%使用。我可以证实这一点,因为我只是在我们的一台服务器上复制了这个(幸运的是在登台平台上)。我们正在使用Tomcat 6运行Ubuntu 12.02。他们昨天只是released an update修复了一个回归。不确定这是否解决了这个问题。
建议的解决方案是恢复到Tomcat的“已知良好”版本,但问题可能在昨晚更新/补丁中得到解决。当我有更多信息时,我会更新这篇文章。
[更新1]
在2017-02-03 11:30 CET上发现的最新更新并没有解决问题。我已经使用所有更新更新了我们的登台服务器,但它仍然存在同样的问题。