GreatSQL社区

搜索

[讨论中] Mysql MGR 使用router后,连接数较多

194 7 2024-12-23 11:50
Mysql8.0.27,业务通过router连接mysql,router使用k8s配置多个,研发使用haki框架 maxlifetime=1800s保持连接,问题mysql中sleep状态的连接较多,很多大于waitetimeout=3600s后才被kill,导致连接数比较多,还有一个集群也是使用MGR,但没用router,研发框架一样,但是mysql连接sleep就没有超过1800s的,帮忙分析下原因,谢谢
全部回复(7)
yejr 2024-12-23 14:31:53
应该是你用的haki框架或Router采用了长连接模式导致的(Router的可能性较大)。

本身采用长连接是合理的,因为这样可以避免频繁创建/断开连接的额外开销。

这些sleep的连接只是占用了连接数,但不影响整体性能的话,可以忽视他们,适当加大 max_connections 参数即可。
whl 2024-12-23 14:38:01
yejr 发表于 2024-12-23 14:31
应该是你用的haki框架或Router采用了长连接模式导致的(Router的可能性较大)。

本身采用长连接是合理的, ...

框架采用maxlifetime设置1800s,来保持长连接,但连接里是超过了这个时间,达到了wait_timeout时间,有个集群没有使用router,那个集群上就没有超过1800s的连接,同样的wait_timeout,影响是没有,只是有连接数报警设置,有router连接数达到了4千多,600多个连接超过了1800s,想确认如何定位问题,修改
yejr 2024-12-23 14:54:30
whl 发表于 2024-12-23 14:38
框架采用maxlifetime设置1800s,来保持长连接,但连接里是超过了这个时间,达到了wait_timeout时间,有个 ...

应该是 idle_timeout 参数,详见 https://dev.mysql.com/doc/mysql- ... out_connection-pool
whl 2024-12-23 15:08:04
yejr 发表于 2024-12-23 14:54
应该是 idle_timeout 参数,详见 https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-conf-opt ...

我的是8.0.27应该没有这个参数吧
yejr 2024-12-23 15:50:48
whl 发表于 2024-12-23 15:08
我的是8.0.27应该没有这个参数吧

这个参数是在MySQL Router这层设置的,不是在MySQL Server层
whl 2024-12-23 16:23:43
yejr 发表于 2024-12-23 15:50
这个参数是在MySQL Router这层设置的,不是在MySQL Server层

是,这个参数也是在router 8.0.29才提供的
微信图片_20241223162248.png

配置多台MYROUTER,然后 前置加HAPROXY
公众号 求关注 https://mp.weixin.qq.com/s/8aYQ6HN_uNKLObJuIliNvg
whl

2

主题

0

博客

13

贡献

新手上路

Rank: 1

积分
24

2022年度博学人物

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2025-1-18 12:59 , Processed in 0.022171 second(s), 17 queries , Redis On.
快速回复 返回顶部 返回列表