Skip to content

vlean/invalid_connection_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

文档整理

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配置

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages