gpt4 book ai didi

spring boot中配置hikari连接池属性方式

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章spring boot中配置hikari连接池属性方式由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

spring boot配置hikari连接池属性

事件起因与一个简单应用经常发生Young GC,甚至在没有请求量的情况下也经常发生GC (Allocation Failure),后来使用mat工具进行分析,发现mysql连接相关的class居然占了40%+堆内空间.

才发现spring boot的连接池大小没有配置,默认是10个连接,但实际上该应用不需要这么多.

?
1
2
3
4
5
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 "<system class loader>" .

spring-boot默认连接池

spring-boot中,根据以下3个优先级加载连接池 。

1)如果classpath中有HikariCP,优先选择它 。

2)如果Tomcat pooling 连接池可用,就会选择它 。

3)如果以上都没有,则会选择Commons DBCP2连接池 。

Hikari配置

这里我们做一个非常低的配置(这个仅仅是一个访问量非常低的系统),如果默认的服务器,建议使用默认配置就足够了.

?
1
2
3
4
5
6
7
8
spring.datasource.hikari.maximum-pool-size= 2
spring.datasource.hikari.minimum-idle= 1
spring.datasource.hikari.idle-timeout= 600000
spring.datasource.hikari.max-lifetime= 1800000
spring.datasource.hikari.connection-timeout= 500
spring.datasource.hikari.login-timeout= 500
spring.datasource.hikari.validation-timeout= 1000
spring.datasource.hikari.initialization-fail-timeout= 1000

参考链接 。

Hikari连接池配置说明

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
## 数据库配置
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql: //localhost:3306/ssm?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username = root
spring.datasource.password = root
##  Hikari 连接池配置 ------ 详细配置请访问:https: //github.com/brettwooldridge/HikariCP
## 最小空闲连接数量
spring.datasource.hikari.minimum-idle= 5
## 空闲连接存活最大时间,默认 600000 10 分钟)
spring.datasource.hikari.idle-timeout= 180000
## 连接池最大连接数,默认是 10
spring.datasource.hikari.maximum-pool-size= 10
## 此属性控制从池返回的连接的默认自动提交行为,默认值: true
spring.datasource.hikari.auto-commit= true
## 连接池名称
spring.datasource.hikari.pool-name=MyHikariCP
## 此属性控制池中连接的最长生命周期,值 0 表示无限生命周期,默认 1800000 30 分钟
spring.datasource.hikari.max-lifetime= 1800000
## 数据库连接超时时间,默认 30 秒,即 30000
spring.datasource.hikari.connection-timeout= 30000
spring.datasource.hikari.connection-test-query=SELECT 1

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/loophome/article/details/94458251 。

最后此篇关于spring boot中配置hikari连接池属性方式的文章就讲到这里了,如果你想了解更多关于spring boot中配置hikari连接池属性方式的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com