Advertisement

在Java进程中获取Mysql连接超时的问题排查

阅读量:

文章目录

【一

1


一. 问题现象

在页面前端经常出现服务器错误(500),经过对相关错误日志进行详细排查后发现大量实例显示:客户端尝试完成连接超时。

二. 原因分析

1. 查询 Mysql 状态

怀疑由于 MySQL 数据库已满而导致进程无法获取新的数据库连接,并进行了相应的排查操作。 运行默认的 SHOW FULL PROCESSLIST 命令时,默认仅能查询当前登录 MySQL 数据库的用户的线程信息;若希望查看所有用户的线程状态,则需要切换到拥有超级权限(super)用户的账户进行操作。鉴于本次排查的目标是全面了解 MySQL 数据库的所有连接情况,则建议采用超级账户进行查询更为合适。随后通过这一系列排查操作发现:许多线程均处于等待(sleep)状态;同时实际可容纳的数据库连接数远低于配置值设定的最大4,000条数值范围

mysql 连接配置

MySQL详细列出了其所有线程状态信息, 包括运行状态、耗时情况以及执行的具体sql语句, 还包含了连接地址信息等细节内容。
主要关注的是当前的最大连接数量。
MySQL还

全部评论 (0)

还没有任何评论哟~