弹性数据库连接池探活策略调研(一)——HikariCP | 京东云技术团队
💡
原文中文,约3000字,阅读约需8分钟。
📝
内容提要
数据库连接建立是昂贵的操作,客户端通常会将连接保存到连接池中进行复用。弹性数据库默认不会关闭客户端连接,但负载均衡代理会在连接空闲10分钟后清理连接。HikariCP连接池可以通过探活参数更高效地使用连接池,提高连接的可靠性和稳定性。推荐使用4.0.1以上版本。
🎯
关键要点
- 数据库连接建立是昂贵的操作,客户端通常将连接保存到连接池中复用。
- 弹性数据库默认不会关闭客户端连接,但负载均衡代理会在连接空闲10分钟后清理连接。
- HikariCP连接池通过探活参数提高连接的可靠性和稳定性,推荐使用4.0.1以上版本。
- HikariCP连接池在分配连接前会检查连接状态,失效连接会被替换为新连接。
- 未配置连接探活时,应用程序可能会遇到失效连接,增加性能开销。
- HikariCP探活相关参数包括minimumIdle、maximumPoolSize、maxLifetime、idleTimeout、connectionTestQuery和keepaliveTime。
- 在低版本中,无法对连接进行保活,建议使用4.0.1及以上版本以支持keepaliveTime。
- 配置keepaliveTime后,可以定期验证连接的有效性,避免无效连接。
- 低版本中需将maxLifetime设置低于10分钟以避免拿到已关闭的连接,建议使用4.0.1以上版本。
➡️