弹性集群的默认连接配置会将可用连接的一个子集分配给集群,以确保分布式查询的最大连接性。 为了完成此配置,群集会根据群集中的节点数和所选 SKU 大小支持的最大连接,在每个工作器节点上保留连接。 默认配置保证每个节点都可以参与分布式作,而连接限制不会成为瓶颈。 例如,如果使用支持 5,000 个连接的 SKU,则双节点群集的默认配置允许 2,500 个活动客户端连接。 保留其余 2,500 个连接,以允许任何潜在分布式查询连接到第二个节点。 同样,四节点群集默认允许 1,250 个活动客户端连接,以确保每个已连接节点有足够的额外连接容量。
最大连接数 = 5,000
| 节点计数 | 最大客户端连接数 | 最大共享池 |
|---|---|---|
| 2 | 2,500 | 2,500 |
| 4 | 1,250 | 1,250 |
| 8 | 625 | 625 |
| 10 | 250 | 250 |
默认配置可确保群集范围的作始终具有可用连接,以允许与每个节点建立连接。 此配置适用于涉及在所有节点上操作并包含所有数据的使用场景。 但是,此配置可能不适合所有类型的工作负荷。 例如,在其他情况下,您的工作负载可能涉及更具针对性和分片特定的数据操作。 在这些情况下,可能需要将群集配置为允许更活跃的客户端连接。 为此,请调整 citus.max_client_connections 参数。
citus.max_client_connections
citus.max_client_connections 参数控制在群集的分布式环境中可并发连接的客户端会话数。 此参数很重要,因为查询规划和数据分布可能会扩展到多个工作器节点。 目标是保护工作节点不被需要连接额外节点的扇出连接所淹没。 这个参数不会替换 Postgres 的 max_connections,而是作为其前置条件。
请记住,虽然增加max_client_connections可以覆盖默认集群连接限制,但每个节点仍受到max_connections设置定义的活动连接数的限制。 如果需要,增加客户端连接数可能需要与群集中的其他节点建立其他连接。
注释
每个工作负荷用例都不同,因此请确保在对活动群集连接进行任何更改之前和之后密切监视群集的连接特征。