数据库链接池 durid 的配置参数详解

这里我主要介绍druid 比较重要的参数解释,不做druid的使用介绍,druid虽然功能强大,但是如果对配置参数理解不到位,性能非但不能达到很优,而且会出现很多异常,所以使用druid之前一定要清楚参数设置,要不永远有踩不完的坑。

这里主要介绍那些参数是必要的,对于值的大小,需要根据自己服务器情况,设置。


spring.datasource.initialSize=5  // 数据库连接池初始化连接数
spring.datasource.minIdle=5 //数据库连接池中最小连接数,如果长时间不使用,连接池中也应该保持最小连接数个连接。
spring.datasource.maxActive=20 // 数据库连接池中最大连接数,当高并发时,可以使用的最大连接数,当在空闲时,连接数会释放值最小连接数。

spring.datasource.maxIdle=8 //已经不再使用,配置了也没效果 

spring.datasource.maxWait=10000 //获取数据库连接的最长等待时间(毫秒),如果超过此时间还没有获得连接,则抛出异常,设置为-1,则表示获取不到连接,则无限等待

spring.datasource.validationQuery = select 1 //一个查询语句,后面的一些属性会依赖这个配置,
如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会其作用。
spring.datasource.testOnBorrow = fasle // 申请连接时执行validationQuery判断连接的有效性,这个配置会降低配置
spring.datasource.testOnReturn=false // 归还连接时执行validationQuery判断连接的有效性,如果这个链接失效则删除,这个配置会降低配置
spring.datasource.testWhilIdle=true // 申请连接的时候有条件检测链接是否可用,条件:如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
spring.datasource.timeBetweenEvictionRunsMillis= 60000
//这个属性很关键,主要有两方面作用,第一:数据库连接池destory线程检测链接有效性的间隔时间(destory会在周期时间检查连接有效性,关闭无效的链接。)
//第二:当testWhilIdle 设置为true的时候,testWhilIdle 检查条件依赖这个属性值。
spring.datasource.minEvictableIdleTimeMillis =30000 Destory线程中如果检测到当前连接的最后活跃时间和当前时间的差值大于minEvictableIdleTimeMillis,则关闭当前链接。

 

。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。

posted on 2019-01-04 10:43  WenQ001  阅读(1566)  评论(0编辑  收藏  举报