线上集群频繁出现连接数打满,新客户端连接失败,除调大连接数上限外,还有哪些排查方向和优化手段?
2 个赞
除调大 max_connections 外,建议从以下方向排查优化:
- 连接泄漏:检查应用是否未正确关闭连接(如
close()遗漏)。通过SHOW PROCESSLIST查看大量Sleep状态的空闲连接。 - 连接池配置:应用连接池的
maximumPoolSize是否过大?idleTimeout是否太长? - 长事务/慢 SQL:长事务持有连接不释放。查看
SHOW PROCESSLIST中Time过长的查询。 - 中间件/负载均衡:连接数被 LB、Proxy 或 Sidecar 耗尽(如 Envoy 的连接池)。
- 操作系统限制:检查文件句柄数、端口范围(
net.ipv4.ip_local_port_range)是否不足。 - 非预期连接:监控工具、巡检脚本、备份任务意外建立大量持久连接。
优化手段:
- 设置合理的
wait_timeout和interactive_timeout自动回收空闲连接。 - 应用侧改用连接池并配置合理的
maximumPoolSize和connectionTimeout。 - 使用
max_user_connections按用户限制连接数。

1 个赞
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。