【问题标题】:Recommended connection pool size for HikariCPHikariCP 的推荐连接池大小
【发布时间】:2020-09-10 08:27:10
【问题描述】:

如 HikariCP docs 中所写,计算连接池大小的公式是 connections = ((core_count * 2) + effective_spindle_count)。但这是哪个核心数量:我的应用服务器还是数据库服务器? 例如:我的应用在 2 个 CPU 上运行,但数据库在 16 个 CPU 上运行。

【问题讨论】:

    标签: postgresql connection-pooling hikaricp


    【解决方案1】:

    这是 Kevin 的连接池大小公式,其中核心和心轴(可以看出这是一个旧公式)是数据库服务器的。

    这假设连接保持相当繁忙。如果您有较长空闲时间的事务,您可能需要使池更大。

    最后,只有反复试验才能找到理想的池大小。

    【讨论】:

    • 但他在公式中指的是哪个 CPU?
    • 正如我所写,数据库服务器的。
    【解决方案2】:

    引用来自PostgreSQL wiki,与数据库核心/服务器有关

    数据库服务器只有这么多资源,如果您没有足够的活动连接来使用所有这些资源,您的吞吐量通常会通过使用更多连接来提高。

    注意这个公式可能是outdated(@mustaccio 评论)

    该 wiki 页面最近一次更新是在近 5 年前,而有问题的建议甚至更早。今天,I/O 队列深度可能比主轴数更重要,即使后者实际上存在

    【讨论】:

      猜你喜欢
      • 2015-05-13
      • 2021-08-24
      • 2020-10-17
      • 2017-09-16
      • 2015-12-15
      • 1970-01-01
      • 2017-08-25
      • 1970-01-01
      相关资源
      最近更新 更多