记录一次网站打开卡--排故障过程
此问题困扰单机组java开发两个礼拜,今天找我协助定位故障:
故障图如下:
排故障思路如下:
1.网络带宽 nload 命令查询,发现带宽使用率正常;
2.内存,cpu负载查询
输入top 命令,正常;
3.安装jvm监控工具软件分析线程,也没发现异常;
jdk自带有个jvisualvm工具、该工具是用来监控java运行程序的cpu、内存、线程等的使用情况。并且使用图表的方式监控java程序、还具有远程监控能力。
参考链接
安装链接
https://jingyan.baidu.com/article/48b37f8d371a921a65648863.html
配置远程机器tomcat,找到bin目录下的startup.sh
vim startup.sh 加入如下配置
#export CATALINA_OPTS=”$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=211.154.X.X -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false”
然后jvm监控工具就可以添加远程监控了,如下图
因为我配置的是没密码的,所以这里打下马赛克
最后也没发现啥异常;
4.检查mysql,开启慢查询日志
vim /etc/my.cnf
重启mysql,而后查看慢查询日志,以为定位到了问题
如下图
开始还以为是索引没建齐全,而后发现不是,数据库是正常的;
5.最后只能从代码入手,分析这几天同事更新部署了什么代码,终于发现异常,另外一个开发部署项目,把log4j,一段代码扔上来,不断输出日志,导致线程,消息连接池堵塞;
最后注释掉那段打印日志的代码后,解决;