当前位置:   article > 正文

druid 参数设置_validation-query-timeout

validation-query-timeout

druid 参数设置

1)Max-active:指的是连接池里允许的最大活跃连接数,这个值根据应用实际情况调整。
2)Min-idle:关掉多余连接,保留有效连接,节省数据库的资源,这个值根据应用实际情况调整。
3)Max-wait,指应用线程等待连接的超时。可以配几秒范围,根据业务应用实际情况进行判定。
4)Validation-query,指的是连接池探测当前连接是否是健康的SQL语句。如果是较新的JDBC,不会发SQL语句,而是发Ping命令。
5)Validation-query-timeout,指的就是探测超时的时间。
6)Test-on-borrow指连接从连接池里取出时,连接池是否需要对连接进行健康探测。建议关闭False。
7)Test-on-return,建议关闭False。
8)Test-while-idle,指的是控制当连接处于空闲状态时,是否需检测连接的健康状态。建议打开True。
9)Time-between-eviction-runs-millis指的是触发空闲连接健康探测阈值,需要跟上面的Test-while结合起来。
10)Remove-abandoned,泄露连接强制回收,默认是False关闭。
11)Remove-abandoned-timeout,指的是强制回收的触发时间阈值。配置时间不要太短,因为业务长时间使用连接,所以超时时间要比业务实际合理时间要高。配置参数单位是“秒”。
12)Log-abandoned,指的是关闭被泄露连接时输出堆栈。当一个连接被探测为连接泄露且强制关闭的时候,是否要

下面配置不建议mysql环境配置:

spring.datasource.druid.max-open-prepared-statements=20
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
spring.datasource.druid.pool-prepared-statements=false  //mysql环境设置成 false
  • 1
  • 2
  • 3

使用 Remove-abandoned 检测线程池泄露

配置:


# 检测线程池超时回收
spring.datasource.druid.remove-abandoned=true
spring.datasource.druid.remove-abandoned-timeout=5
spring.datasource.druid.log-abandoned=true

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.connect-properties.config.decrypt=false
spring.datasource.druid.connect-properties.druid.stat.logSlowSql=true
spring.datasource.druid.connect-properties.druid.stat.slowSqlMillis=200
spring.datasource.druid.filters=config,wall,stat
spring.datasource.druid.initial-size=1
spring.datasource.druid.max-active=3
spring.datasource.druid.max-wait=300
spring.datasource.druid.min-evictable-idle-time-millis=30000
spring.datasource.druid.min-idle=1
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.login-password=admin
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.reset-enable=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.test-on-borrow=false
spring.datasource.druid.test-on-return=false
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.time-between-eviction-runs-millis=60000
spring.datasource.druid.validation-query=select 1
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.web-stat-filter.exclusions=/druid/*,*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico
spring.datasource.druid.web-stat-filter.session-stat-enable=true
spring.datasource.druid.web-stat-filter.session-stat-max-count=10
spring.datasource.druid.web-stat-filter.url-pattern=/*
spring.datasource.password=root
spring.datasource.username=root
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://192.168.xxx.xx:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

设置从连接池 拿取连接不超过 300毫秒

测试:

com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 301, active 3, maxActive 3, creating 0, runningSqlCount 2 : select * from t_user t1 order by rand() limit 1
com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 302, active 3, maxActive 3, creating 0, runningSqlCount 3 : select * from t_user t1 order by rand() limit 1
com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 300, active 3, maxActive 3, creating 0, runningSqlCount 3 : select * from t_user t1 order by rand() limit 1
com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 301, active 3, maxActive 3, creating 0, runningSqlCount 3 : select * from t_user t1 order by rand() limit 1
  • 1
  • 2
  • 3
  • 4

就可以查看到底是哪个sql引起泄露的了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/46429
推荐阅读
相关标签
  

闽ICP备14008679号