背景:在Go应用程序中使用数据库时,我希望减少响应时间。
Golang提供了一个带有连接池的SQL包。它包括以下配置选项:
但是,没有什么比SetMinIdleConns更能确保在请求传入时总是有一些可以使用的开放连接。因此,我的应用程序在加载下有很好的响应时间,但是在一些空闲时间后的第一个请求总是有一些延迟,因为它需要打开到数据库的新连接。
问题:有什么方法可以用Go标准库来解决这个问题,还是有其他连接池库可以使用这个特性来解决这个问题呢?
解决方案,并且已经尝试过
ConnMaxIdleTime和ConnMaxLifetime设置为非常高的值,但随后server关闭了它们,在长时间空闲后的第一次调用中会出现更高的延迟甚至错误。发布于 2021-09-28 09:20:44
pgx/pgx池库为Postgres提供了一个连接池,它允许配置最小连接数:
connConf, err := pgxpool.ParseConfig(connStr)
// ... (error handling)
connConf.MaxConns = 50
// Set minimum number of connections:
connConf.MinConns = 10
pool, err := pgxpool.ConnectConfig(context.TODO(), connConf)https://stackoverflow.com/questions/68655261
复制相似问题