Tomcat 产生 25G 日志,不知道是什么原因造成的

公孙二狗 发布于 2017/12/05 17:35
阅读 655
收藏 0

大家好,昨天我们服务器遇到个奇怪问题,帮忙分析下是什么情况:

  • MySQL 和 Tomcat 分别在 2 个服务器
  • Tomcat 使用连接池访问 MySQL
  • 表面现象是 MySQL 所在服务器没有空间了,从 Tomcat 的日志里看到很多连接 MySQL 失败的日志,同时发现一秒钟有几百次日志输出提示打开的文件句柄太多,最后生成了 25G 的日志文件,Tomcat 不能提供服务

有同事认为是 MySQL 那没空间了导致 MySQL 不停的连接 MySQL,搜索没找到这方面的现象和说明,还有种可能是被 DDOS 攻击了,产生大量的连接和日志。

我觉得只有请求到了 Tomcat 才会去访问 MySQL,或者连接池间断的访问 MySQL,但频率不会高,MySQL 的日志满了不应该导致 Tomcat 疯狂的访问它呢。

大家有什么想法呢?

加载中
0
kakai
kakai
猜测mysql连接不够用,看下mysql最大连接数是多少,应该是反问数据库太多导致数据库连接超出最大连接限制,还有可能是服务器连接数据库后使用完没有正常被回收到连接池,导致不停的创建新的连接,同样导致数据库连接超出最大限制。用sql语句查询一下当前连接情况,具体的sql语句去百度上查一下
公孙二狗
公孙二狗
数据库连接使用连接池,配置的是 600,不会无限制创建连接的。还有就是 1 秒几百次的日志输出很诡异。
0
阳光小閷
阳光小閷

linux可以配置打开文件最大数量,可以试着加大一下。在linux里面如果打开文件句㑂不够,会创建不出连接,然后重试就会越来越多日志

0
金玉良妍
金玉良妍

1. 扩容MySQL磁盘容量 再看有没有类似情况

2. 看Tomcat机器可打开的文件句柄数够不够

3. 尝试加大MySQL连接数以及连接池数量

4. 查看Tomcat或者前端代理 access日志 看看是不是DDoS

 

公孙二狗
公孙二狗
我提议看下 nginx 日志,没看到,原因就不说啥了
返回顶部
顶部