Go
database/sql不会阻止您创建与数据库的无限数量的连接。如果池中有一个空闲连接,则将使用该连接,否则将创建一个新连接。
因此,在负载下,您的请求处理程序sql.DB可能找不到任何空闲连接,因此在需要时会创建一个新连接。这有点麻烦-尽可能重用空闲连接,并在需要时创建新连接-
最终达到Db的最大连接数。而且,不幸的是,在Go
1.1中,没有一种简便的方法(例如SetMaxOpenConns)来限制打开的连接。
升级到更高版本的Golang。在Go
1.2+中,您将获得SetMaxOpenConns。并查看MySql文档以开始设置,然后进行调整。
db.SetMaxOpenConns(100) //tune this
如果必须使用Go 1.1,则需要确保您的代码一次
*sql.DB仅可被N个客户端使用。



