
1、Druid源码下载
拉取代码
git clone https://github.com/alibaba/druid.git
源码编译
mvn clean install '-Dmaven.test.skip=true'
2、SpringBoot集成Druid连接池
springBoot框架默认自动装配的是HikariCP,spring-jdbc如果不指定连接池的话会使用HikariCP。
POM文件添加Druid starter
com.alibaba
druid-spring-boot-starter
1.2.8
配置参数
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: 123456
type: com.alibaba.druid.pool.DruidDataSource
druid:
initial-size: 5
min-idle: 5
max-active: 20
max-wait: 60000
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
# 打开PSCache
pool-prepared-statements: true
# 配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入
filters: stat,wall,log4j,config
# 指定每个连接上PSCache的大小
max-pool-prepared-statement-per-connection-size: 20
# 合并多个DruidDataSource的监控数据
use-global-data-source-stat: true
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
指定DataSrouce
Config
@ConfigurationProperties(prefix = "spring.datasource")
@Bean
public DataSource druid() {
return new DruidDataSource();
}
测试运行
3、DruidCP与HikariCP对比
测试版本:DruidCP 1.2.8,HikariCP 4.0.3,springboot 2.1.4.RELEASE,mysql 5.7.36
测试工具:SuperBenchmarker
测试命令:sb -u http://127.0.0.1/test -c 5 -N 20
JVM配置:-Xms1g -Xmx1g
采用的都是默认配置
获取链接和关闭连接性能对比 DruidCP RPS:2953.7,HikariCP RPS:3190.6
由此可见DruidCP与HikariCP的性能方面是差不多的,都是非常优秀的连接池工具。
Alibaba Druid连接池除了卓越的性能外,还提供了非常丰富的监控和扩展功能。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)