和Druid基本对比如下:
因素 | HikariCP | Druid |
性能 | 高性能,被认为是最快的连接池之一 | 高性能,但在某些方面可能稍逊于HikariCP |
功能特性 | 提供基本的连接池功能 | 提供更丰富的功能特性,如连接监控、SQL防火墙、连接泄漏检测等 |
配置和使用简易性 | 简单配置,使用方便 | 配置较复杂,提供更多灵活性和可定制性 |
社区支持和稳定性 | 广泛的社区支持和稳定性 | 强大的社区支持和稳定性 |
从单纯的性能角度来说,应该选择。但是从监控的角度来说,Druid更加强大。
提供的监控指标如下,提供的都是基本的连接池指标:
指标名称 | 描述 |
hikaricp_connections | 当前连接池中的连接数量(包括活动和空闲的连接)。 |
hikaricp_connections_usage_seconds_count | 连接的使用时间,用于计算连接的总使用次数。 |
hikaricp_connections_creation_seconds_count | 新建连接的计数器,记录创建连接的总次数。 |
hikaricp_connections_idle | 当前空闲的连接数量。 |
hikaricp_connections_active | 当前活动(正在使用)的连接数量。 |
_t | 获取连接所花费的时间,用于计算获取连接的总次数。 |
hikaricp_connections_timeout_total | 连接超时的总次数。 |
hikaricp_connections_pending | 当前等待获取连接的请求数。 |
结合Prometheus和Grafana使用,大概是这样的:
Druid的监控界面如下:
最终,我们还是选择了HikariCP + Prometheus + Grafana。