Mysql MGR 使用router后,连接数较多
Mysql8.0.27,业务通过router连接mysql,router使用k8s配置多个,研发使用haki框架 maxlifetime=1800s保持连接,问题mysql中sleep状态的连接较多,很多大于waitetimeout=3600s后才被kill,导致连接数比较多,还有一个集群也是使用MGR,但没用router,研发框架一样,但是mysql连接sleep就没有超过1800s的,帮忙分析下原因,谢谢应该是你用的haki框架或Router采用了长连接模式导致的(Router的可能性较大)。
本身采用长连接是合理的,因为这样可以避免频繁创建/断开连接的额外开销。
这些sleep的连接只是占用了连接数,但不影响整体性能的话,可以忽视他们,适当加大 max_connections 参数即可。 yejr 发表于 2024-12-23 14:31
应该是你用的haki框架或Router采用了长连接模式导致的(Router的可能性较大)。
本身采用长连接是合理的, ...
框架采用maxlifetime设置1800s,来保持长连接,但连接里是超过了这个时间,达到了wait_timeout时间,有个集群没有使用router,那个集群上就没有超过1800s的连接,同样的wait_timeout,影响是没有,只是有连接数报警设置,有router连接数达到了4千多,600多个连接超过了1800s,想确认如何定位问题,修改 whl 发表于 2024-12-23 14:38
框架采用maxlifetime设置1800s,来保持长连接,但连接里是超过了这个时间,达到了wait_timeout时间,有个 ...
应该是 idle_timeout 参数,详见 https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-conf-options.html#option_mysqlrouter_idle_timeout_connection-pool 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应该没有这个参数吧 whl 发表于 2024-12-23 15:08
我的是8.0.27应该没有这个参数吧
这个参数是在MySQL Router这层设置的,不是在MySQL Server层 yejr 发表于 2024-12-23 15:50
这个参数是在MySQL Router这层设置的,不是在MySQL Server层
是,这个参数也是在router 8.0.29才提供的
配置多台MYROUTER,然后 前置加HAPROXY
页:
[1]