扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
HikariCP 源于日语“光”的意思(和光速一样快),它是 SpringBoot 中默认的数据库连接池。
成都创新互联公司从2013年创立,先为子洲等服务建站,子洲等地企业,进行企业商务咨询服务。为子洲企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。可以有效地减少数据库连接创建、销毁的资源消耗。
HikariCP 为什么快呢?它使用 FastList 替代 ArrayList,通过初始化的默认值,减少了越界检查的操作;
优化并精简了字节码,通过使用 Javassist,减少了动态代理的性能损耗,比如使用 invokestatic 指令代替 invokevirtual 指令;
javassist是jboss的一个子项目,其主要的优点,在于简单,而且快速。直接使用java编码的形式,而不需要了解虚拟机指令,就能动态改变类的结构,或者动态生成类。
很多同学认为,连接池的大小设置得越大越好,有的同学甚至把这个值设置成 1000 以上,这是一种误解。根据经验,数据库连接,只需要 20~50 个就够用了。
具体的大小,要根据业务属性进行调整,但大得离谱肯定是不合适的。
HikariCP 官方是不推荐设置 minimumIdle最小空闲 这个值的,它将被默认设置成和 maximumPoolSize 一样的大小。
如果你的数据库Server端连接资源空闲较大,不妨也可以去掉连接池的动态调整功能。
总体来说,当你遇到下面的场景,就可以考虑使用池化来增加系统性能:
将对象池化之后,只是开启了第一步优化。
要想达到最优性能,就不得不调整池的一些关键参数,合理的池大小加上合理的超时时间,就可以让池发挥更大的价值。和缓存的命中率类似,对池的监控也是非常重要的。
想看源码可以:HikariCP
具体配置:spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/springboot-cf
username: root
password: 123456
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 10 #最小空闲连接数量
maximum-pool-size: 15 #连接池大连接数,默认是10
auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
idle-timeout: 30000 #空闲连接存活大时间,默认600000(10分钟)
pool-name: DataHikariCP #连接池名称
max-lifetime: 1800000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
connection-timeout: 30000 #数据库连接超时时间,默认30秒,即30000
connection-test-query: SELECT 1
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流