默认的最大连接数是 151 ,改到了 1000 ,暂时解决。 我排查代码,用的 gorm,是有设置连接数的
db, err := gorm.Open("mysql", c.DSN)
if err != nil || db == nil {
panic(err)
}
db.DB().SetMaxIdleConns(c.MaxIdle)
db.DB().SetMaxOpenConns(c.MaxConn)
但是执行 select * from information_schema.PROCESSLIST 会看到很多 command 是 sleep 我排查代码应该是没有未提交的事务 我自己起终端测试,在提交了事务后还是会有 sleep, 只有吧客户端关了才可以 是和 mysql 的 wait_timout 有关系吗?我看这个默认 8 小时,一般线上这个值是多少?