數據庫連接池Druid與Hikari對比詳解
Druid競品對比
功能類別 | 功能 | Druid | HikariCP | DBCP | Tomcat-jdbc | C3P0 |
---|---|---|---|---|---|---|
性能 | PSCache | 是 | 否 | 是 | 是 | 是 |
LRU | 是 | 否 | 是 | 是 | 是 | |
SLB負載均衡支持 | 是 | 否 | 否 | 否 | 否 | |
穩定性 | ExceptionSorter | 是 | 否 | 否 | 否 | 否 |
擴展 | 擴展 | Filter | JdbcIntercepter | |||
監控 | 監控方式 | jmx/log/http | jmx/metrics | jmx | jmx | jmx |
支持SQL級監控 | 是 | 否 | 否 | 否 | 否 | |
Spring/Web關聯監控 | 是 | 否 | 否 | 否 | 否 | |
診斷支持 | LogFilter | 否 | 否 | 否 | 否 | |
連接泄露診斷 | logAbandoned | 否 | 否 | 否 | 否 | |
安全 | SQL防註入 | 是 | 無 | 無 | 無 | 無 |
支持配置加密 | 是 | 否 | 否 | 否 | 否 |
Hikari 官方性能測試數據
SpringBoot 現在官方默認的數據庫連接池是 HikariCP,HikariCP的性能從測試的數據上來看也是最高的。
對比
- 功能角度考慮,Druid 功能更全面,除具備連接池基本功能外,還支持sql級監控、擴展、SQL防註入等。最新版甚至有集群監控
- 單從性能角度考慮,從數據上確實HikariCP要強,但Druid有更多、更久的生產實踐,它可靠
- 單從監控角度考慮,如果我們有像skywalking、prometheus等組件是可以將監控能力交給這些的 HikariCP 也可以將metrics暴露出去
總結
系統架構上有專門用於監控的系統(SkyWalking、Prometheus);所以可以將監控的功能交給這些系統,讓數據庫連接池專心做好連接池的本職工作,所以我們選擇性能更好的 HikariCP 做為數據庫連接池。由於我們使用瞭Spring boot ,HikariCP 是內置的,也更方便配置使用,能做到開箱即用。
以上就是數據庫連接池Druid與Hikari對比詳解的詳細內容,更多關於數據庫連接池選Druid Hikari的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- spring boot metrics監控指標使用教程
- spring boot中配置hikari連接池屬性方式
- skywalking分佈式服務調用鏈路追蹤APM應用監控
- SpringBoot可視化監控的具體應用
- 一文秒懂Prometheus 介紹及工作原理