|
|
@ -25,20 +25,29 @@ maxActive = 20 |
|
|
# 最小连接池数量 |
|
|
# 最小连接池数量 |
|
|
minIdle = 0 |
|
|
minIdle = 0 |
|
|
|
|
|
|
|
|
## 连接池配置项 |
|
|
|
|
|
# 自动提交 |
|
|
|
|
|
autoCommit = true |
|
|
|
|
|
# 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 缺省:30秒 |
|
|
|
|
|
connectionTimeout = 30000 |
|
|
|
|
|
# 一个连接idle状态的最大时长(毫秒),超时则被释放(retired),缺省:10分钟 |
|
|
|
|
|
idleTimeout = 600000 |
|
|
|
|
|
# 一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),缺省:30分钟,建议设置比数据库超时时长少30秒,参考MySQL wait_timeout参数(show variables like '%timeout%';) |
|
|
|
|
|
maxLifetime = 1800000 |
|
|
|
|
|
# 获取连接前的测试SQL |
|
|
|
|
|
connectionTestQuery = SELECT 1 |
|
|
|
|
|
# 最小闲置连接数 |
|
|
|
|
|
minimumIdle = 10 |
|
|
|
|
|
# 连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count) |
|
|
|
|
|
maximumPoolSize = 20 |
|
|
|
|
|
# 连接只读数据库时配置为true, 保证安全 |
|
|
|
|
|
readOnly = false |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时 |
|
|
|
|
|
initialSize = 10 |
|
|
|
|
|
# 最大连接池数量 |
|
|
|
|
|
maxActive = 20 |
|
|
|
|
|
# 最小连接池数量 |
|
|
|
|
|
minIdle = 10 |
|
|
|
|
|
# 获取连接时最大等待时间,单位毫秒。配置了maxWait之后, 缺省启用公平锁,并发效率会有所下降, 如果需要可以通过配置useUnfairLock属性为true使用非公平锁。 |
|
|
|
|
|
maxWait = 0 |
|
|
|
|
|
# 是否缓存preparedStatement,也就是PSCache。 PSCache对支持游标的数据库性能提升巨大,比如说oracle。 在mysql5.5以下的版本中没有PSCache功能,建议关闭掉。作者在5.5版本中使用PSCache,通过监控界面发现PSCache有缓存命中率记录, 该应该是支持PSCache。 |
|
|
|
|
|
poolPreparedStatements = false |
|
|
|
|
|
# 要启用PSCache,必须配置大于0,当大于0时, poolPreparedStatements自动触发修改为true。 在Druid中,不会存在Oracle下PSCache占用内存过多的问题, 可以把这个数值配置大一些,比如说100 |
|
|
|
|
|
maxOpenPreparedStatements = -1 |
|
|
|
|
|
# 用来检测连接是否有效的sql,要求是一个查询语句。 如果validationQuery为null,testOnBorrow、testOnReturn、 testWhileIdle都不会其作用。 |
|
|
|
|
|
validationQuery = SELECT 1 |
|
|
|
|
|
# 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 |
|
|
|
|
|
testOnBorrow = true |
|
|
|
|
|
# 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能 |
|
|
|
|
|
testOnReturn = false |
|
|
|
|
|
# 建议配置为true,不影响性能,并且保证安全性。 申请连接的时候检测,如果空闲时间大于 timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。 |
|
|
|
|
|
testWhileIdle = false |
|
|
|
|
|
# 有两个含义: 1) Destroy线程会检测连接的间隔时间 2) testWhileIdle的判断依据,详细看testWhileIdle属性的说明 |
|
|
|
|
|
timeBetweenEvictionRunsMillis = 60000 |
|
|
|
|
|
# 物理连接初始化的时候执行的sql |
|
|
|
|
|
connectionInitSqls = SELECT 1 |