zoukankan      html  css  js  c++  java
  • 数据库链接池 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检测连接是否有效。

  • 相关阅读:
    管理培训笔记
    Jhipster Registry(Eureka Server) Docker双向联通与高可用部署
    (转阮一峰)深入理解OAuth 2.0
    基于spring security 实现前后端分离项目权限控制
    spring security实现动态配置url权限的两种方法
    Spring Security 架构与源码分析
    开源APM系统skywalking介绍与使用
    Angular 中后台前端解决方案
    SpringBoot+Security+MyBatis+ES+MQ+Redis+Docker+Vue的电商系统
    Jenkins+GitLab+Docker+SpringCloud实现可持续自动化微服务
  • 原文地址:https://www.cnblogs.com/wenq001/p/10218554.html
Copyright © 2011-2022 走看看