| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
interactive_timeout针对交互式连接,wait_timeout针对非交互式连接
mysql防止空闲连接过多,超过了mysql_connection配置之后,会拒绝新连接, 自动关闭空闲连接超过wait_timeout、使用中连接超过interactive_timeout参数的连接
database/sql库连接池的max_lifetime大于wait_timeout,有可能拿到失效连接, 建议设置wait_timeout/2
go-sql-driver/mysql 1.5版本增加失效连接 读写前检查
mysql 5.7 max_connections = 5 wait_timeout = 5
仅修改go-sql-driver/mysql版本和SetConnMaxLifetime值
起5个go协程执行mysql查询,之后sleep 10s,循环执行该操作,观察报错信息
| go-sql-driver/mysql | SetConnMaxLifetime | 结果 |
|---|---|---|
| 1.4.1 | 20s | 稳定出现invalid connection |
| 1.4.1 | 2.5s | 未出现invalid connection; maxLifetimeClosed持续增加 |
| 1.5.0 | 20s | 出现报错closing bad idle connection: EOF,但是可以正常查询 |
并发原因
触发wait_timeout
| Back | FazBrowse Home | New Git URL |