You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从BoneCP迁移到HikariCP:如何设置连接池分区数?

BoneCP转HikariCP:分区数的等价配置说明

HikariCP没有与BoneCP的setPartitionCount直接对应的配置项,这是因为两者的连接池架构设计完全不同:

  • BoneCP采用多分区架构,每个分区独立管理一组连接,总最大连接数 = partitionCount × maxConnectionsPerPartition。你原配置中4个分区×每个分区最大64连接,总最大连接数为256。
  • HikariCP是单池化架构,没有分区概念,通过maximumPoolSize直接控制整个连接池的最大连接数,架构更轻量化高效,不需要通过分区来优化性能。

配置映射与调整建议

将你的BoneCP配置等价转换到HikariCP时,核心是匹配总连接能力:

  1. 原BoneCP总最大连接数:4 × 64 = 256,对应HikariCP的setMaximumPoolSize(256)
  2. 其他参数的对应关系(你已配置正确的部分):
    • setIdleMaxAge(10, TimeUnit.MINUTES) → setIdleTimeout(Duration.ofMinutes(10).toMillis())
    • setIdleConnectionTestPeriod(30, TimeUnit.SECONDS) → setKeepaliveTime(Duration.ofSeconds(30).toMillis())
    • setMaxConnectionAge(30, TimeUnit.MINUTES) → setMaxLifetime(Duration.ofMinutes(30).toMillis())

调整后的HikariCP配置代码

HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setIdleTimeout(Duration.ofMinutes(10).toMillis());
hikariConfig.setKeepaliveTime(Duration.ofSeconds(30).toMillis());
hikariConfig.setMaxLifetime(Duration.ofMinutes(30).toMillis());
hikariConfig.setJdbcUrl(dbUrl);
// 等价于原BoneCP的总最大连接数(4分区×64连接/分区)
hikariConfig.setMaximumPoolSize(256);

内容的提问来源于stack exchange,提问作者Raman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 20:39:19