首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何确定弹出器的max_client_conn

如何确定弹出器的max_client_conn
EN

Stack Overflow用户
提问于 2017-09-13 13:27:06
回答 2查看 20.3K关注 0票数 17

我有点“偶然”,所以我为一个真正的问题道歉。我在pool_mode = transaction模式下使用pgbouncer。昨天,我开始在我的php日志中获得错误:

不再允许连接(max_client_conn)

我的max_client_conn = 150在我的postgresql.conf中与max_connections匹配。

因此,我的第一个问题是,max_client_conn应该设置为postgresql max_connections,还是完全误解了这种关系?

我在一个postgres实例上有20个默认default_pool_size = 20的pgbouncer实例,那么max_client_conn应该是400吗?(pool_size * number_of_databases)?

谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2017-09-13 14:41:37

https://pgbouncer.github.io/config.html

max_client_conn允许的最大客户端连接数。 default_pool_size每个用户/数据库对允许多少个服务器连接。

所以max_client_conn应该比postgres max_connections大得多,否则为什么要使用连接池程序呢?

如果有20个数据库,并将default_pool_size设置为20,则允许pgb强将400个连接打开到db,因此需要将posgtres.conf max_connections调整为400,并将pgbouncer max_client_conn设置为smth 4000 (使每个实际db连接在池中平均有10个连接)。

这个答案仅仅是为了提供一个理解设置的例子,而不是作为一个真正需要遵循的语句。(如我刚看到一个配置:

代码语言:javascript
运行
复制
max_client_conn = 10000
default_pool_size = 100
max_db_connections = 100
max_user_connections = 100

对于具有两个数据库并将max_connections设置为100的集群而言。这里的逻辑是不同的,还设置了max_db_connections,实际上,在pgbouncer数据库部分中,每个数据库都分别设置了连接限制。

因此,使用小设置来了解配置如何相互影响这是“如何确定pgbouncer的max_client_conn”的最佳方法。

票数 27
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46198870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档