gpt4 book ai didi

postgresql - 一个好的 PgPool II 配置

转载 作者:行者123 更新时间:2023-11-29 11:24:29 24 4
gpt4 key购买 nike

我一直在尝试将 PgPool 配置为接受大约 150 个请求。Postgres 服务器配置为仅接受 100 个连接。任何超过 100 的都需要被 PgPool 池化。我似乎不明白。我只需要 PgPool 对请求进行排队,我当前的配置不会这样做。在我的 JMeter 测试中,当我尝试获得超过 100 个连接时,postgres 给我一个错误提示 PSQL 错误:抱歉,客户端太多

我只使用以下参数配置了 PPGool:

listen_address = 'localhost'
port = 9999
backend_hostname0 = 'localhost'
backend_port0 = 5432
num_init_children = 100
max_pool = 4
child_life_time =120
child_max_connections = 0
connections_life_tome = 120
client_idle_limit = 0

因为我只需要 PgPool 来排队额外的连接请求,上面的配置是否正确?请告知正确的配置。

最佳答案

pgpool 中的 'child_max_connections' 不是数据库允许的最大连接数。它是池连接在终止和重新启动之前可以使用的次数。它在那里回收连接线程并阻止内存泄漏。

max_pool x num_init_children 的公式描述了 pgpool 将与 Postgresql 建立的最大连接数。显然,这需要小于 postgresql 中设置的 'max_connections',否则 pgpool 会将 DB 标记为不可用的后端。如果您保留了一些数据库连接供管理员使用,则需要进一步减少 pgpool 连接的数量。

所以,我的意思是公式中的'max_connections'是在postgresql.conf中设置的参数。在上面的注释中将 'child_max_connections' 设置为 100 仅意味着 pgpool 连接每使用 100 次就会关闭并重新打开。

关于postgresql - 一个好的 PgPool II 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10362032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com