千家信息网

Mycat占用mysql连接数过多

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,背景:mariadb,mycat中间件。问题:DB连接数过多;开发使用程序使用连接池连mycat;DB待优化项: interactive_timeout,wait_timeout 都是8小时默认值。m
千家信息网最后更新 2026年11月02日Mycat占用mysql连接数过多

背景:mariadb,mycat中间件。
问题:DB连接数过多;开发使用程序使用连接池连mycat;
DB待优化项: interactive_timeout,wait_timeout 都是8小时默认值。
mycat配置:100个分片库,和其他业务库。现在分片库用到16分片,后面尚未使用。
当前DB最大连接数:3000
mycat 版本:当前线上的mycat版本是1.5.8版本,推荐以后线上使用最稳定的 mycat1.6.5版本。

经DB和开发碰面了解 这两个timeout时间不能缩短,所以常规的优化手段不能使用:
正常DB连接数1000,数据库两个timeout为300--500,参数可以全局动态生效。

公司线上DB前段时间建总出现连接数过多问题,正常来说连接数1000,已经能够满足大部分需求。
正常手段无法使用的时候,那么就要找到DB为啥连接数过多。

1. 审计日志
DB上部署过审计日志,审计日志部署请移步:审计日志部署,审计日志中可以查看到做坏事的坏小子是谁!
因为时间关系,未保存。但是从审计日志中发现大量访问连接sql就是'select 1' ,也是mycat连接mysql的连接。
且该链接连的是大量尚未使用的物理库。
至此审计日志只能判断到这里。
2. DB层面
mariadb物理库 information_schema 中processlist表记录连接相关信息,比如 DB,HOST,INFO,STATUS等。而且能统计具体某个库的连接数。
查询后,发现很多没有使用的DB中连接很多没有释放,大概占总连接数的60%左右,使用脚本 "kill id; "后连接仍旧重新连接。
这种情况很尴尬,找不到原因。
3. 审计日志
再结合审计日志,查看连接从哪来的,还是mycat 发过来的select 1 ,暂时就可以定位mycat的heartbeat 问题,结合网上查找的heartbeat算法,
其中有一条是关于未用的DB连接算法:如果当前DB一直有访问,那么链接该DB 的heartbeat暂不执行,未用的DB链接300秒重新连接该DB。

这算法是个人的理解,因能力有限,代码阅读能力低,只能理解个大概;现也能判断个大概方向。
4.更改mycat配置

  • 当前mycat配置:
    datanode

需要减少未使用的datanode,减少后发现,连接数并未减少。
kill id; 后还是连接数会重新增长。判断单单更改datanode不是解决问题的办法。

  • 更改:

删除尚未使用的,再次kill id; 操作。未用的连接不再出现。

至此问题解决,实验文字叙述较多,描述较少,仅供读者参考。

日志 审计 问题 版本 过多 尚未 时间 算法 链接 配置 两个 手段 物理 能力 至此 还是 开发 尴尬 业务 中间件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司简介 互联网科技行业发展 金融科技与互联网金融 互联网科技股票 万易互联网科技有限公司 安徽鑫晟辉互联网科技 广州互联网络科技有限公司 唐信互联网科技 大连 互联网金融和金融科技 佛山市翊博互联网络科技有限公司 深圳互联网科技的发展 互联网科技实习生岗位 互联网营销推广黑科技 半导体行业属于互联网高科技类吗 抖集互联网科技技术咨询 普陀区互联网教育科技管理办法 银川新华互联网科技学校是国营吗 马化腾互联网科技教学 科技美学互联网 艺术 如何强化互联网金融科技 西安纸贵互联网科技有限公司 涨乐互联网科技 汉立互联网科技有限公司联系电话 富国互联网科技创新基金 字节跳动和互联网科技 河南猎农互联网科技有限公司 互联网与医疗科技 云鲸互联网络科技有限公司 互联网科技手机排行榜 科技信息时代互联网发展
0