记录tomcat 启动慢问题的排查及解决

  上周遇到tomcat启动慢的问题,使用的是jdk8、tomcat8,框架使用的是spring MVC(5.0+版本)。说的更准确一点,是tomcat启动就会卡主,启动日志见图1。

图1

我发现tomcat启动后,开始初始化spring容器,然后就无法进行下去,一开始我以为只是慢,所以开始去做别的事情,半小时后,有同事反馈说我的服务没有起来,我打开日志发现还是卡在这里。我立马使用`top`命令查了此tomcat线程的cpu,发现没并没有出现cpu高的问题,所以肯定不是因为程序中死循环之类的问题导致的。估计是有线程阻塞了,我又通过`jstack -l `命令查看了tomcat的线程情况,见图2。

图2

发现了熟悉的包名,被我马赛克的部分,`ConfProxy`类是我们公司配置中心相关的代码,估计是配置中心的问题,导致去配置中心获取配置时阻塞了,立马联系运维重启了配置中心,然后重启项目,问题解决。后来和公司相关的开发同事反馈,果然是由于配置中心的bug导致的,由于公司的开发测试环境较多,导致部分测试环境的代码没有得到及时的更新,导致了此问题。

你可能感兴趣的:(记录tomcat 启动慢问题的排查及解决)