druid配置详解
druid配置详解
属性说明建议值
url数据库的jdbc连接地址。⼀般为连接oracle/mysql。⽰例如下:
mysql : jdbc:mysql://ip:port/dbname?option1&option2&…
oracle : jdbc:oracle:thin:@ip:port:oracle_sid
username登录数据库的⽤户名
password登录数据库的⽤户密码
initialSize启动程序时,在连接池中初始化多少个连接10-50已⾜够
maxActive连接池中最多⽀持多少个活动会话
maxWait 程序向连接池中请求连接时,超过maxWait的值后,认为本次请求失败,
即连接池
100没有可⽤连接,单位毫秒,设置-1时表⽰⽆限等待
minEvictableIdleTimeMillis 池中某个连接的空闲时长达到 N 毫秒后, 连接池在下次检查空闲连接时,
见说明部分回收该连接,要⼩于防⽕墙超时设置
netfilter.nf_conntrack_tcp_timeout_established的设置
timeBetweenEvictionRunsMillis检查空闲连接的频率,单位毫秒, ⾮正整数时表⽰不进⾏检查
keepAlive程序没有close连接且空闲时长超过 minEvictableIdleTimeMillis,则会执true
⾏validationQuery指定的SQL,以保证该程序连接不会池kill掉,其范围不
过minIdle指定的连接个数。
minIdle回收空闲连接时,将保证⾄少有minIdle个连接.与initialSize相同removeAbandoned要求程序从池中get到连接后, N 秒后必须close,否则druid 会强制回收该false,当发现程序有未
连接,不管该连接中是活动还是空闲, 以防⽌进程不会进⾏close⽽霸占连
druid连接池配置详解
接。正常close连接时设置为
true
removeAbandonedTimeout 设置druid 强制回收连接的时限,当程序从池中get到连接开始算起,超
过此
应⼤于业务运⾏最长时间值后,druid将强制回收该连接,单位秒。
logAbandoned当druid强制回收连接后,是否将stack trace 记录到⽇志中true testWhileIdle当程序请求连接,池在分配连接时,是否先检查该连接是否有效。(⾼效)true
validationQuery 检查池中的连接是否仍可⽤的 SQL 语句,drui会连接到数据库执⾏该SQL,
如果
正常返回,则表⽰连接可⽤,否则表⽰连接不可⽤
testOnBorrow程序 申请 连接时,进⾏连接有效性检查(低效,影响性能)false testOnReturn程序 返还 连接时,进⾏连接有效性检查(低效,影响性能)false poolPreparedStatements缓存通过以下两个⽅法发起的SQL:true
public PreparedStatement prepareStatement(String sql)
public PreparedStatement prepareStatement(String sql,
属性说明建议值
int resultSetType, int resultSetConcurrency) maxPoolPrepareStatementPerConnectionSize每个连接最多缓存多少个SQL20 filters这⾥配置的是插件,常⽤的插件有:stat,wall,slf4j
监控统计: filter:stat
⽇志监控: filter:log4j 或者 slf4j
防御SQL注⼊: filter:wall
connectProperties连接属性。⽐如设置⼀些连接池统计⽅⾯的配置。
Sql=true;druid.stat.slowSqlMillis=5000
⽐如设置⼀些数据库连接属性:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。