mysql连接池中的最大连接数和空闲连接时间

AI摘要
【知识分享】用户询问Go语言中MySQL数据库连接池的参数配置,包括最大连接数、最大空闲连接数和最大连接空闲时间的合理设置。这是一个关于数据库性能调优的技术问题,属于编程实践中的常见配置项。

1. 运行环境?

go2.5

2. 问题描述?

一下的各项设置应该怎么合理配置,对于这方面不是很懂,我一般都不管的,直接默认
db, err := sql.Connect(“mysql”, “dns”)
db.SetMaxOpenConns(?) //最大连接数
db.SetMaxIdleConns(?) //最大空闲连接数
db.SetConnMaxIdleTime(?) //最大连接空闲时间

讨论数量: 1
taadis

首先go没有2.5版本- -估计是手快了。 其次,这几个配置的默认值(也就是你不管不配置的时候) db.SetMaxOpenConns (?) // 最大连接数默认值0,表示无限制 db.SetMaxIdleConns (?) // 最大空闲连接数默认值2,表示链接池最多保留2个空闲链接,超出的空闲链接会被关闭 db.SetConnMaxIdleTime (?) // 最大连接空闲时间默认值0,表示空闲链接不过期

默认值的配置适合单机、极低并发(比如本地测试、少量用户后台管理等系统),用户或者QPS并发一上来,通常会遇到的问题是Too many connections、invalid connection、数据库连接缓慢、查询阻塞等待等影响业务问题。

默认值是 “兜底配置”,不是 “最优配置”,线上环境一般需要根据 MySQL 实例配置和业务并发量调整这三个参数

一般90%业务系统以下配置完全满足 MaxOpenConns=10-50; MaxIdleConns=10-30、 ConnMaxIdleTime=1-5分钟

21小时前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!