我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Mycat占用mysql连接数过多

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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 发过来的<heartbeat>select 1 </heartbeat>,暂时就可以定位mycat的heartbeat 问题,结合网上查找的heartbeat算法,
其中有一条是关于未用的DB连接算法:如果当前DB一直有访问,那么链接该DB 的heartbeat暂不执行,未用的DB链接300秒重新连接该DB。

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

  • 当前mycat配置:<schema><table datanode ></table></schema>datanode
    Mycat占用mysql连接数过多

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

  • 更改<datanode></datanode>:
    Mycat占用mysql连接数过多

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

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Mycat占用mysql连接数过多

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql连接数过多怎么处理

当MySQL连接数过多时,可以考虑以下几种处理方式:调整MySQL的最大连接数设置:可以通过修改MySQL配置文件中的max_connections参数来增加最大连接数。但是需要注意的是,过高的连接数可能会导致MySQL性能下降或者系统资源
mysql连接数过多怎么处理
2024-04-09

mysql连接数过多怎么解决

当MySQL连接数过多时,可以采取以下几种方法来解决:1. 优化查询语句:检查查询语句的性能,确保索引被正确使用,避免不必要的全表扫描和排序操作,尽量减少查询的数据量和复杂度。2. 增加硬件资源:增加服务器的内存容量和处理器核数,提升数据库
2023-09-27

mysql连接数占满怎么办

mysql 连接过多会导致性能问题。解决步骤包括:找出最大连接限制。增加连接限制。杀死超出限制的连接。限制每个用户连接数。优化数据库查询以减少连接。使用连接池复用连接。定期监视连接使用情况以检测问题。MySQL 连接过多问题当 MySQL
mysql连接数占满怎么办
2024-05-30

如何解决MySQL报错:连接数过多

要解决MySQL报错连接数过多,可以尝试以下几种方法:1. 增加最大连接数:可以通过修改MySQL配置文件中的max_connections参数来增加最大连接数。找到my.cnf或my.ini文件(路径可能位于/etc/mysql/my.c
2023-10-20

mysql当前连接数过多怎么处理

当MySQL当前连接数过多时,可以采取以下几种处理方式:增加MySQL的最大连接数限制:通过修改MySQL配置文件中的max_connections参数,可以增加MySQL支持的最大连接数。请注意,增大最大连接数可能会增加系统资源的消耗,建
mysql当前连接数过多怎么处理
2024-04-15

Mysql中Sleep进程连接数过多问题解决

连接数查看进入MySQL命令行,输入“show processlist;”命令后,Command列出现一大堆Sleep睡眠状态的连接进程。如下图:mysql连接进程Sleep睡眠状态过多将影响MySQL系统资源,主要是CPU、内存。超过配置的最大连接数,新的客
Mysql中Sleep进程连接数过多问题解决
2017-03-29

Too many connections - 如何解决MySQL报错:连接数过多

引言:MySQL是一个广泛使用的关系型数据库管理系统,许多网站和应用程序都依赖于MySQL来存储和管理数据。然而,在高负载环境下,MySQL经常会遇到连接数过多的问题。这会导致应用程序无法连接到数据库,从而导致服务中断和性能下降。在本文中,
2023-10-21

kafka连接数过多如何解决

当Kafka连接数过多时,可以采取以下措施来解决问题:1. 调整Kafka的最大连接数限制:修改Kafka的配置文件,增加`max.connections`参数的值,以增加Kafka允许的最大连接数。2. 增加Kafka集群的容量:如果Ka
2023-09-14

如何使用python连接数据库后通过占位符添加数据

这篇文章主要介绍了如何使用python连接数据库后通过占位符添加数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在SQL语句中如果定义字符串,则字符串必须使用“”就是单引号
2023-06-22

mysql最大连接数是多少

mysql最大连接数是151。mysql数据库最大连接数是指在同一时间内可以与 mysql数据库建立的最大连接数,这个数字对于高流量的Web应用程序和大型企业应用程序至关重要,如果超过了最大连接数,那么新的连接将无法建立,从而导致应用程序崩
2023-07-10

Spring连接Mysql数据库全过程

这篇文章主要介绍了Spring连接Mysql数据库全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-21

IDEA连接不上MySQL端口号占用的解决

命令行下能正常登陆MYSQL,navicat能正常连接MySQL,但是IDEA连接不上MySQL,emmm,什么情况。。。 看了一下错误提示:一直以为是MySQL密码或者是访问权限的问题。 困扰n天。。。 某天,突然想到3306端口号占用,
2022-05-12

MySQL数据库:多表连接查询

多表连接查询注意:使用连接技术建议将表经行重命名!# explain 检索连接是否达标# 内连接 # 语法1from 表1 inner join 表2 on 主键字段=外键字段 [where 条件表达式] # 语法2 from 表1,表2 where 主键字段
2022-01-30

编程热搜

目录