You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go+Fiber连接MariaDB出现闲置连接重置告警的解决方法

问题解决:Go + MariaDB 连接池 "connection reset by peer" 告警

环境信息

  • 技术栈:Go语言、Fiber Web框架、MariaDB 10.6、Debian 11
  • 数据库驱动:github.com/go-sql-driver/mysql

问题现象

调整了以下数据库连接池参数:

db.SetMaxOpenConns(25)
db.SetMaxIdleConns(25)
db.SetConnMaxLifetime(5 * time.Minute)

无论调大或调小上述参数,每分钟仍会产生1-2条如下告警:

packets.go:123: closing bad idle connection: connection reset by peer

根因与解决方案

排查后发现问题根源是MariaDB的wait_timeout设为20秒、interactive_timeout设为50秒——这两个参数值远小于连接池配置的ConnMaxLifetime(5分钟),导致数据库主动断开了闲置的连接,但连接池还认为这些连接处于可用状态,当尝试复用这些连接时就触发了告警。

调高wait_timeout和interactive_timeout参数后,告警问题彻底解决。

感谢@ysth提供的解决方案。

内容的提问来源于stack exchange,提问作者Ravyar Tahir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 12:25:29