程序员的资源宝库

网站首页 > gitee 正文

SpringBoot中关于 HikariCP、Druid及常用连接池的比较及druid连接池泄漏问题参考

sanyeah 2024-04-01 11:29:47 gitee 5 ℃ 0 评论

性能

  • hikariCP>druid>tomcat-jdbc>proxool>dbcp>c3p0
  • hikariCP 的性能十分优异,号称java平台最快的数据库连接池。
  • hikariCP在并发较高的情况下,性能基本上没有下降。
  • 从字节码的维度优化代码。让方法尽量在35个字节码以下,来提升jvm的处理效率。 (default inline threshold for a JVM running the server Hotspot compiler is 35 bytecodes )
  • HiKariCP性能比Druid高
  • HiKariCP是Spring Boot 2+官方支持并默认内置,就像jackson一样,和Spring Boot兼容性更好
  • Druid的优势是监控完善,扩展性更好(但拦截过多也会增加框架复杂度以及框架性能)

扩展性

  • 阿里巴巴出品的druid功能最为全面。
  • 可视化监控,统计数据较为全面。
  • 当然,如果使用的是云数据库,云数据库已经自带了大量监控指标。

关于bug

网上有一大堆关于druid踩坑笔记,无外乎都是连接池泄漏,造成连接池爆满无法获取连接,系统停摆,我随便找几个url

记阿里Druid数据连接池引发的线上血案

druid连接池 一段时间不用,然后在使用就会报错

一次 Druid 连接池泄露引发的血案!

从Druid数据库连接池获取连接的时候超时了,Socket读阻塞

Java——从druid数据连接池获取不到连接

 

当然druid官方也有征对连接池泄漏的解决方案,

地址:https://github.com/alibaba/druid/wiki/%E8%BF%9E%E6%8E%A5%E6%B3%84%E6%BC%8F%E7%9B%91%E6%B5%8B

所以,使用druid时真的需要慎重。特别是水平不是很高的开发人员,项目又比较重要的话,首选推荐的还是springboot内置自带的hikariCP,无论从代码量,效率,稳定性,0配置易用性都是排第一的。代码写的好,哪有那么多需要监控的。个人认为

 

 

总结

如果对监控和跟踪没有要求,可以使用hikariCP, 如果有监控方面的需求,可以使用druid。具体选HiKariCP或Druid视团队及具体需求而定

 

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表