MariaDB Galera Cluster 在单个节点上同时获得 2000 多个连接如何跟踪此问题

MariaDB Galera Cluster 在单个节点上同时获得 2000 多个连接如何跟踪此问题

我正在使用 MariaDB Galera Cluster (Master/Master),它有 5 个节点,规格如下

32Core
64GB Ram
Ubuntu 20.04
Personal Vm-Machines at own Datacenter

在这些节点之上,配置了 Haproxy,用于平衡数据库节点的请求负载

每个节点的最大连接数限制为 2000,但在某些情况下,单个节点上有超过 2000 个连接,我们无法追踪为什么/从哪里获得这么多的连接请求。有人可以指导我如何检查这个问题吗

谢谢

Galera 版本:4 MariabDB 10.5

答案1

使用命令行“mysql”连接。 SHOW PROCESSLIST。它可能会显示 2000 行,其中几乎所有行都显示Sleep。它还将提供连接来自的用户和主机。

听起来好像你在某处打开了“连接池”,也许是在 haproxy 中?

除了极少数生产系统外,2000 太高了,请解释一下这个数字。另一方面,我很久以前就见过 2GB 服务器上有 1000 个连接,所以我认为达到 2000 个连接不会有什么大问题——如果大多数都处于“睡眠”状态。

检查SHOW GLOBAL STATUS LIKE 'Threads_running'; 如果超过 100,你可能有问题。这就是当您探测时有多少个节点处于非睡眠状态。

相关内容