讨论数量:
首先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分钟
关于 LearnKu
推荐文章: