spring|spring boot中配置hikari连接池属性方式
目录
- spring boot配置hikari连接池属性
- spring-boot默认连接池
- Hikari配置
- Hikari连接池配置说明
spring boot配置hikari连接池属性 事件起因与一个简单应用经常发生Young GC,甚至在没有请求量的情况下也经常发生GC (Allocation Failure),后来使用mat工具进行分析,发现mysql连接相关的class居然占了40%+堆内空间。
才发现spring boot的连接池大小没有配置,默认是10个连接,但实际上该应用不需要这么多。
The class "com.mysql.cj.jdbc.AbandonedConnectionCleanupThread", loaded by "org.apache.catalina.loader.ParallelWebappClassLoader @ 0xf8dfdf30", occupies 19,279,792 (41.23%) bytes. The memory is accumulated in one instance of "java.util.concurrent.ConcurrentHashMap$Node[]" loaded by "".
spring-boot默认连接池
spring-boot中,根据以下3个优先级加载连接池
1)如果classpath中有HikariCP,优先选择它
2)如果Tomcat pooling 连接池可用,就会选择它
3)如果以上都没有,则会选择Commons DBCP2连接池
Hikari配置
这里我们做一个非常低的配置(这个仅仅是一个访问量非常低的系统),如果默认的服务器,建议使用默认配置就足够了。
spring.datasource.hikari.maximum-pool-size=2spring.datasource.hikari.minimum-idle=1spring.datasource.hikari.idle-timeout=600000spring.datasource.hikari.max-lifetime=1800000spring.datasource.hikari.connection-timeout=500spring.datasource.hikari.login-timeout=500spring.datasource.hikari.validation-timeout=1000spring.datasource.hikari.initialization-fail-timeout=1000
参考链接
Hikari连接池配置说明
## 数据库配置spring.datasource.type=com.zaxxer.hikari.HikariDataSourcespring.datasource.driverClassName = com.mysql.jdbc.Driverspring.datasource.url = jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf-8&useSSL=falsespring.datasource.username = rootspring.datasource.password = root##Hikari 连接池配置 ------ 详细配置请访问:https://github.com/brettwooldridge/HikariCP## 最小空闲连接数量spring.datasource.hikari.minimum-idle=5## 空闲连接存活最大时间,默认600000(10分钟)spring.datasource.hikari.idle-timeout=180000## 连接池最大连接数,默认是10spring.datasource.hikari.maximum-pool-size=10## 此属性控制从池返回的连接的默认自动提交行为,默认值:truespring.datasource.hikari.auto-commit=true## 连接池名称spring.datasource.hikari.pool-name=MyHikariCP## 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟spring.datasource.hikari.max-lifetime=1800000## 数据库连接超时时间,默认30秒,即30000spring.datasource.hikari.connection-timeout=30000spring.datasource.hikari.connection-test-query=SELECT 1
【spring|spring boot中配置hikari连接池属性方式】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- 热闹中的孤独
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()
- Activiti(一)SpringBoot2集成Activiti6
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- “成长”读书社群招募