记录一次网站打开卡--排故障过程

此问题困扰单机组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,一段代码扔上来,不断输出日志,导致线程,消息连接池堵塞;

最后注释掉那段打印日志的代码后,解决;

原文地址:https://www.cnblogs.com/wolfboy55-163-com/p/8136459.html