hikariCP性能调优

最近项目做压力测试,发现hikari cp会报一些错误,优化排查花了不少时间。有同样问题的可以参考下

尽量配置固定大小的数据库连接池
maximum-pool-size:默认10,一般为 cpu数*2+磁盘数+10(另外加的10保证服务载的时候连接不会被频繁recycle)
idle-timeout: 建议设置为0,pool设置为固定大小的连接池(大小取决于maximum-pool-size)保证每次都能直接在pool中拿到可以连接;
connection-timeout: 建议设置比数据库大一些
max-life-time: 建议设置比数据库小一些,保证池中的连接都是可用的;比如数据库设置30分钟,那么这里可以设置1740000L 毫秒=29分钟

mysql> show variables like '%timeout%';
+-----------------------------+----------+
| Variable_name               | Value    |
+-----------------------------+----------+
| connect_timeout             | 10 秒      |  hikari cp connectionTimeout
| wait_timeout                | 1800 秒    | hikari cp maxLifeTime 
+-----------------------------+----------+

####问题一:

Connection is not available, request timed out after xxxx ms

升级hikariCP版本不小于3.3.1

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你好!关于HikariCP的配置,你可以按照以下步骤进行操作: 1. 首先,确保你的项目中已经引入了HikariCP的依赖。你可以在你的项目的构建文件(如pom.xml、build.gradle)中添加以下依赖: Maven: ```xml <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>xxx</version> </dependency> ``` Gradle: ```groovy implementation 'com.zaxxer:HikariCP:xxx' ``` 注意将`xxx`替换为你所需的版本号。 2. 接下来,在你的应用程序配置文件中,根据你的数据库类型和需求,配置HikariCP的连接池参数。以下是一个示例的配置文件: ```yaml hikari: poolName: MyHikariPool maximumPoolSize: 10 minimumIdle: 5 connectionTimeout: 30000 idleTimeout: 600000 dataSource: className: com.mysql.cj.jdbc.MysqlDataSource url: jdbc:mysql://localhost:3306/mydatabase user: myusername password: mypassword ``` 你可以根据自己的情况进行调整,具体的配置参数可以参考HikariCP官方文档。 3. 最后,在你的应用程序中使用HikariCP连接池获取数据库连接。以下是一个简单的Java代码示例: ```java import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; // ... HikariConfig config = new HikariConfig("/path/to/your/config/file.yml"); HikariDataSource dataSource = new HikariDataSource(config); // 使用 dataSource 来获取数据库连接并执行相关操作 // 最后不要忘记关闭 dataSource dataSource.close(); ``` 在这个示例中,`/path/to/your/config/file.yml`是你的应用程序配置文件的路径。 这样就完成了HikariCP的配置。希望能帮到你!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值