当前位置: 首页 > news >正文

Hikari连接池 最大连接数与最小空闲连接数配置多少合适?

spring:datasource:                                           # 数据源的相关配置type: com.zaxxer.hikari.HikariDataSource          # 数据源类型:HikariCPdriver-class-name: com.mysql.jdbc.Driver          # mysql驱动url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=trueusername: rootpassword: roothikari:connection-timeout: 30000       # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒minimum-idle: 5                 # 最小空闲连接数maximum-pool-size: 20           # 最大连接数auto-commit: true               # 自动提交idle-timeout: 600000            # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟pool-name: DateSourceHikariCP     # 连接池名字max-lifetime: 1800000           # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000msconnection-test-query: SELECT 1

这里我们最小空闲连接数和最大连接数分别设置为5和20,其实Hikari的默认值是maximumPoolSize为10,而minimumIdle强烈建议不要配置、默认值与maximumPoolSize相同。但一般公司maximumPoolSize基本上这个值将决定到数据库后端的最大实际连接数,对此的合理价值最好由实际的执行环境决定,也就是硬件有关。保留minimumIdle的值(并不是不设置)是为了防止空闲很久时创建连接耗时较长从而影响RT。不过我还是比较倾向作者的观点,尽量不要minimumIdle,允许HikariCP充当固定大小的连接池,毕竟我相信追求极致的Hikari一定可以尽最大努力快速高效地添加其他连接,从而获得最佳性能和响应尖峰需求。

而且作者的意思很明确,设置固定大小的连接数量肯定是没什么问题的,因为毕竟我们的系统也不太会出现长时间闲置的情况,也就是长时间系统0访问,哪怕是凌晨网站也会有用户的请求。

注意:最大连接数不是越大越好,跟多线程一样,不是创建越多的线程就越好。

比如你服务器是4核,最大连接数可以设置为10,如果是8核,可以设置为20。

http://www.lryc.cn/news/415768.html

相关文章:

  • 【2.4 python中的基本输入和输出】
  • netty长连接集群方案
  • Python面试题:结合Python技术,如何使用Keras进行神经网络建模
  • dll文件丢失怎么恢复?超简单的5个方法,1分钟搞定dll文件修复!
  • [Meachines] [Easy] Sense PFSense防火墙RCE
  • codetop标签双指针题目大全解析(C++解法),双指针刷穿地心!!!
  • Floyd求最短路
  • python爬虫初识
  • Java中类的构造
  • 【C++高阶】深入理解C++异常处理机制:从try到catch的全面解析
  • 【RHEL7】无人值守安装系统
  • [RTOS 学习记录] 预备知识:C语言结构体
  • sqli-labs注入漏洞解析--less-9/10
  • 文心智能体平台:食尚小助,提供美食推荐和烹饪指导
  • 工作中,如何有效解决“冲突”?不回避,不退让才是最佳方式
  • Qt读写配置(ini)文件
  • Python笔试面试题AI答之面向对象(2)
  • Python学习计划——12.1选择一个小项目并完成
  • uniapp 多渠道打包实现方案
  • 请你学习:前端布局3 - 浮动 float
  • PyCharm 2024.1 总结和最新变化
  • RGB红绿灯——Arduino
  • 浅谈用二分和三分法解决问题(c++)
  • Cocos Creator2D游戏开发(9)-飞机大战(7)-爆炸效果
  • 终于有人把华为认证全部说清楚了
  • 【知识】pytorch中的pinned memory和pageable memory
  • 【系统架构设计】数据库系统(五)
  • 如何对人工智能系统进行测试|要点,方法及流程
  • CVE-2023-37569~文件上传【春秋云境靶场渗透】
  • MySQL简介 数据库管理与表管理