弹性数据库连接池探活策略调研(三)——DBCP | 京东云技术团队
💡
原文中文,约3500字,阅读约需9分钟。
📝
内容提要
本文介绍了DBCP连接池的弹性数据库连接池探活策略,包括版本差异和参数功能的比较。DBCP 2.x相比1.x在性能和功能上有所提升。与Druid相比,DBCP在探活配置和参数默认值上存在差异。关键词:DBCP连接池、弹性数据库连接、探活策略、版本差异、参数功能
🎯
关键要点
- 本文介绍了DBCP连接池的弹性数据库连接池探活策略。
- DBCP有两个版本:1.x和2.x,2.x在性能和功能上有所提升。
- DBCP 2.x与1.x不是二进制兼容,升级时需注意Java包名称和Maven坐标的变化。
- DBCP的探活相关参数包括initialSize、minIdle、maxIdle、maxActive/maxTotal等。
- DBCP与Druid在探活配置和参数默认值上存在差异。
- testWhileIdle参数在DBCP中用于驱逐连接时的验证,而在Druid中用于申请连接时的探活。
- numTestsPerEvictionRun参数决定每次驱逐线程检查的连接数量。
- 建议将numTestsPerEvictionRun配置为与maxActive/maxTotal一致,并将timeBetweenEvictionRunsMillis设置小于10分钟。
- 开启testOnBorrow参数可以有效避免拿到失效的连接,尽管会略微影响性能。
- 本文提供了在JED数据库中的连接池配置模板供读者参考和调整。
➡️