弹性数据库连接池探活策略调研(一)——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以上版本。
➡️

继续阅读