数据库连接池选型 Druid vs HikariCP

简介: springboot 现在官方默认的数据库连接池是 HikariCP,HikariCP的性能从测试的数据上来看也是最高的。

这里主要比较HikariCP 和阿里的Druid


这里有来自Druid的竞品对比:https://github.com/alibaba/druid/wiki/Druid%E8%BF%9E%E6%8E%A5%E6%B1%A0%E4%BB%8B%E7%BB%8D

2.png

springboot 现在官方默认的数据库连接池是 HikariCP,HikariCP的性能从测试的数据上来看也是最高的。


3.png


所以我们主要对比Druid和HikariCP


先来看下这个著名的issue

  • 一个印度小哥提的 issue


4.png


  • brettwooldridge 这边主要针对性能和在中国以外的地方用的少的问题


5.png


6.png


  • 温绍这边说,由于使用公平锁所以降低了性能,至于为什么是因为在生产环境中遇到的一些问题,使设计使然。


7.png


  • 温绍同时也强调我们淘宝体量大,并发高,顺便甩了个带有马爸爸照片的链接,让他了解一下淘宝


8.png


9.jpg


  • brettwooldridge 这边回应 :比量是吧?(内心潜台词)
  • wix.com托管着超过1.09亿个网站,每天处理的请求超过10亿个
  • Atlassian的产品拥有数百万的客户
  • HikariCP是使用Play框架,Slick,JOOS构建的每个应用的默认连接池
  • 老子现在是spring boot的默认连接池
  • HikariCP每月从中央Maven存储库中解析超过300,000次。


10.png


  • 同时也甩了个链接,让你看看我HikariCP的名望


image.png


看完热闹,说回正题


  • 功能角度考虑,Druid 功能更全面,除具备连接池基本功能外,还支持sql级监控、扩展、SQL防注入等。最新版甚至有集群监控
  • 单从性能角度考虑,从数据上确实HikariCP要强,但Druid有更多、更久的生产实践,它可靠。
  • 单从监控角度考虑,如果我们有像skywalking、prometheus等组件是可以将监控能力交给这些的 HikariCP 也可以将metrics暴露出去。


总结


由于我们的系统架构上有专门用于监控的系统(skywalking、prometheus),外加使用了阿里云的RDS,RDS也有完整数据库监控指标。所以我们可以将监控的功能交给这些系统,让数据库连接池专心做好连接池的本职工作,所以我们选择性能更好的 HikariCP 做为数据库连接池。由于我们使用了Spring boot ,HikariCP 是内置的,也更方便配置使用,能做到开箱即用。

相关文章
|
7月前
|
监控 druid Java
监控druid数据库连接池连接泄露的思路
监控druid数据库连接池连接泄露的思路
684 2
|
7月前
|
Arthas druid Java
一次druid数据库连接池连接泄露的排查分析
一次druid数据库连接池连接泄露的排查分析
632 1
|
4月前
|
druid Java 数据库连接
数据库连接池及Druid使用步骤
数据库连接池及Druid使用步骤
268 2
|
8天前
|
SQL 监控 druid
Druid数据库连接池简介及应用推广(老项目翻出来做下记录)
Druid数据库连接池简介及应用推广(老项目翻出来做下记录)
|
4月前
|
监控 druid Java
Druid【SpringBoot集成】监控数据库报错 Failed to bind properties under ‘‘ to javax.sql.DataSource 解决(含配置源码)
Druid【SpringBoot集成】监控数据库报错 Failed to bind properties under ‘‘ to javax.sql.DataSource 解决(含配置源码)
234 0
|
5月前
|
druid Java 数据库
德鲁伊druid数据库明文密码加密
德鲁伊druid数据库明文密码加密
374 0
德鲁伊druid数据库明文密码加密
|
2月前
|
监控 安全 数据库
Binlog vs. Redo Log:数据库日志的较劲【高级】
Binlog vs. Redo Log:数据库日志的较劲【高级】
80 0
|
2月前
|
存储 缓存 关系型数据库
Binlog vs. Redo Log:数据库日志的较劲【基础】
Binlog vs. Redo Log:数据库日志的较劲【基础】
178 0
|
3月前
|
关系型数据库 MySQL 数据处理
MySQL vs. PostgreSQL:选择适合你的开源数据库
在当今信息时代,开源数据库成为许多企业和开发者的首选。本文将比较两个主流的开源数据库——MySQL和PostgreSQL,分析它们的特点、优势和适用场景,以帮助读者做出明智的选择。
|
3月前
|
监控 druid Java
数据库链接池HikariCP、Druid
数据库链接池HikariCP、Druid

热门文章

最新文章