Skip to content

Latest commit

 

History

History

springboot-db-pool

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

springboot-db-pool

说明

数据库连接池是一种用于管理数据库连接的技术,它可以在应用程序和数据库之间建立一组预先创建的数据库连接,并对这些连接进行管理和复用。连接池可以提高应用程序的性能和可伸缩性,减少数据库连接的创建和销毁开销,并避免频繁地建立新的数据库连接。

HikariCP是被广泛认为性能最好的连接池之一。它采用了一些优化策略来提供高性能和低延迟的连接池。HikariCP的设计目标是尽量减少锁的竞争和线程切换的开销,以及减少连接获取和释放的开销。它具有快速的连接获取和释放、高效的连接池管理、自动的连接池调整等特性,适用于高并发负载的场景。

Druid是阿里巴巴开源的一个Java连接池和数据库监控库。它不仅提供连接池的基本功能,还具有强大的监控和统计功能。Druid连接池在性能方面表现良好,并且提供了丰富的配置选项来满足各种需求。Druid连接池支持连接的获取和释放、连接的复用,具有较低的连接获取和释放开销,适用于大规模并发的场景。

在性能方面,HikariCP通常被认为是性能最好的连接池之一,其轻量级的设计和优化策略使其在高并发负载下表现出色。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防注入
支持配置加密

从上表可以看出,Druid连接池在性能、监控、诊断、安全、扩展性这些方面远远超出竞品。