【问题标题】:Should I decrease max_connections in PostgreSQL when using PgBouncer?使用 PgBouncer 时我应该减少 PostgreSQL 中的 max_connections 吗?
【发布时间】:2020-07-21 20:43:44
【问题描述】:

为什么我在使用 PgBouncer 时要减少 PostgreSQL 中的 max_connections?当我使用 PgBouncer 限制以下连接时,如果我在 PostgreSQL 的配置中将 max_connections 设置为 100 或 1000,会有区别吗?

【问题讨论】:

    标签: postgresql pgbouncer


    【解决方案1】:

    每个可能的连接都会在共享内存中保留一些资源,并且一些后端私有内存也被缩放到它。在永远不会使用时保留此内存是一种资源浪费。在过去,当共享内存资源比在现代操作系统上更加繁琐时,这更是一个问题。

    此外,有一些代码需要遍历所有这些资源,可能同时持有锁,因此如果有更多数据需要遍历,则需要更多时间。迭代和锁定的确切性质因版本而异,因为代码经过优化以使其更适合大量 CPU。

    当大多数可能的连接都没有实际使用时,这些影响都不会很大。降低 max_connections 的最重要原因可能是为了在 pgbouncer 配置错误并且无法正常工作的情况下获得即时诊断。

    【讨论】:

      猜你喜欢
      • 2022-11-15
      • 2021-06-08
      • 2020-03-26
      • 1970-01-01
      • 2018-04-15
      • 2020-11-01
      • 2021-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多