四台服务器做数据库集群,应用是单节点,拉到机房前四台机器应用和数据库集群已经测试了半个月问题都解决了,拉到机房所有配置都没改过,包括内网ip都是和之前一样,硬件也没变,唯一变的是台交换机.
数据库集群正常启动,到启动应用时非常慢,平时30s起来,这下半个小时都起不来,debug日志也不报错,日志打的也很慢,改了/dev/urandom随机数相关的配置也不行,还是慢,在java.security和catalina.sh都改了并没有用
换数据库,装单节点数据库,跟应用装一台机器,换jdk,重新打包,都没用,也没有报错信息,只有远程监控下jvm了,开启远程端口,在堡垒机用visualVM查看jvm状态,发现两个线程交替block,如图:
堆栈dump一下,发现其中交替的一个线程dump如图:

BD一下,试着改一下host,将127.0.0.1 后面加上本机名
竟然成功了!!!

                  
                  
                  
                  
本文描述了一次在机房环境下数据库集群与应用启动异常的排查过程。原本在本地已稳定运行的应用,在部署到机房后启动速度显著下降,通过监控发现JVM中存在交替block的线程。最终通过修改hosts文件中127.0.0.1后的主机名设置,解决了启动缓慢的问题。
          

      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
              
            
                  
					6502
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
            


            