Node.Js:pg.pool服务器连接超时

问题描述 投票:0回答:1

我们有一个运行

Node.Js
连接
Azure load-balancer
的设置,然后将工作负载分配到
pgbouncer
,最后分配到
PostgreSQL
数据库。当我们检查 pgbouncer 统计数据时,我们发现 LB 没有均匀地将负载分配给 pgbouncer。

有一段时间,我不知道使用

pg.pool
在应用程序层发生了另一层池化,因为我是一名 DBA。根据我的理解,当 pg.pool 初始化与 LB 的连接(比如说 10)时,可以均匀分布,但之后 LB 并没有真正进行分布,而只是一个传递,因为 LB 后面的池仍然连接,所以到 pgbouncer 的连接也是如此.

现在,如果其中一个 pgbouncer 发生故障,所有连接都可能会转到第二个。但在那之后,即使带来第一个,我相信在 pg.pool 中建立新连接之前它也不会获得连接。我们的这个设置是否不是最理想的? Node.Js 和 LB 之间的连接是否有任何参数可以控制空闲超时?

node.js postgresql database-connection azure-load-balancer
1个回答
0
投票

1.确保检查 Azure 负载均衡器的配置,确保其设置正确,以便在 pgbouncer 实例之间均匀分配流量。检查会话持久性(粘性会话)等任何设置是否影响连接的分布。

2.检查 Node.js 应用程序的连接池(例如 pg.pool)的配置,以确保其配置正确。您可能需要根据您的工作负载和需求调整最大连接数、连接超时、空闲超时等参数。

© www.soinside.com 2019 - 2024. All rights reserved.