zoukankan      html  css  js  c++  java
  • HikariCP连接池

    一、简介

        数据库连接池,负责分配、管理和释放数据库连接,连接池容器将数据库连接对象存放在内存中,当业务访问数据时,从连接池中获取连接对象。 

    二、参数说明

    1、maximum-pool-size:
      池中最大连接数(包括空闲和正在使用的连接);
      1)默认值是10,
      2)<=0会认定为10,>0 and <1 会设置为mininum-idel;
      策略:一般预估应用的最大连接数,后期根据监测得到一个最大值的一个平均值。
    2、minimum-idle:
      池中最小空闲连接数量;
      1)默认值10;
      2)小于池中最大连接数;
      3)小于0或大于maximum-pool-size,都会重置为maximum-pool-size;
      策略:一般根据系统大部分情况下的数据库连接情况取一个平均值。Hikari会尽可能、尽快地将空闲连接数维持在这个数量上。
    如果为了获得最佳性能和对峰值需求的响应能力,我们也不妨让他和最大连接数保持一致,使得HikariCP成为一个固定大小的数据库连接池。
    3、pool-name:连接池的名字。一般会出现在日志和JMX控制台中。默认值:auto-genenrated。建议取一个合适的名字,便于监控。 4、auto-commit:是否自动提交池中返回的连接。默认值为true。 5、idle-timeout: 连接空闲时间, 1)仅在minimum-idle小于maximum-poop-size的时候才会起作用; 2)默认值10分钟; 3)max-lifetime>0 and >=max-lifetime,会被重置为0; 4)不等于0且小于10秒,会被重置为10秒; 5)空闲连接数大于最大连接数且空闲时间超过该值,才会被释放。 策略:根据应用实际情况做调整,对于一些间歇性流量达到峰值的应用,一般需要考虑设置的比间歇时间更大,防止创建数据库连接拖慢了应用速度。 6、max-lifetime: 连接池中连接的最大生命周期; 感觉针对活跃连接, 1)不等于0且小于30秒,会被重置为30分钟; 2)默认值30分钟; 策略:一般将这个值设置的比数据库的“闲置超时时间”小几秒,以便这些连接断开后,HikariCP能迅速的创建新一轮的连接。 7、connection-timeout: 连接超时时间。默认值为30s,可以接收的最小超时时间为250ms,<250会被设置为30s。但是连接池请求也可以自定义超时时间(com.zaxxer.hikari.pool.HikariPool#getConnection(long))。 8、type:数据连接池的类型,指定hikaricp,com.zaxxer.hikari.HikariDataSource 9、连接测试查询:spring.datasource.hikari.connection-test-query=SELECT 1

    三、监控优化

    • 不是越大越好,而是根据CPU核心数和实际的业务场景优化,一般可采用默认设置。
    • 参考博文:数据库连接池原理解释
  • 相关阅读:
    二叉树的后续非递归遍历
    [zz http://www.cnblogs.com/oldfeel/archive/2012/05/15/2501290.html] android 录像/打开video文件
    android中颜色参考
    hdu1170Balloon Comes!
    hdu1017A Mathematical Curiosity
    hdu1016Prime Ring Problem
    hdu1018Big Number
    hdu1021Fibonacci Again
    hdu1071The area
    “教室派”软件使用体验
  • 原文地址:https://www.cnblogs.com/flame540/p/13556169.html
Copyright © 2011-2022 走看看