9

我需要配置我的 pgbouncer 以使用超过 2000 个客户端连接,我正在阅读一些有关如何使用最大连接数的信息,然后我明白了我必须在 pgbouncer 上做什么max_client_con = 2000,但是default_pool_size呢,它们,不仅仅是一个问题是寻求一些支持,以了解在大型客户端连接上配置 pgbouncer 的正确方法

postgres.conf

port = 5432                             # (change requires restart)
max_connections = 100                   # (change requires restart)
unix_socket_directory = '/var/run/postgresql'           # (change requires restart)

弹跳器.ini

[pgbouncer]
logfile = /var/log/postgresql/pgbouncer.log
pidfile = /var/run/postgresql/pgbouncer.pid
listen_addr = 127.0.0.1
listen_port = 6432
unix_socket_dir = /var/run/postgresql
auth_type = md5
auth_file = /etc/pgbouncer/userlist.txt
admin_users = carlos
pool_mode = statement
server_reset_query = DISCARD ALL
max_client_conn = 100
default_pool_size = 20
4

1 回答 1

12

如果您可以在“事务池模式”下运行 pgbouncer,那么您最好。有一些功能如果使用将无法使用,但如果您不使用它们。

default_pool_size 然后控制您在 pgbouncer 和 postgresql 之间有多少个连接,并将其保持在 20 左右可能是一个好主意。这意味着您可以在系统中同时拥有 20个活动事务,并且从您正在执行的操作的描述来看,这似乎不太可能。但是您希望将该值调整为在您需要的最大同时交易数量上具有“合理保证金”的值。然后,pgbouncer 将愉快地在这 20 个连接上多路复用您的 2000 个连接,从而在数据库端保持良好的性能。

于 2013-08-16T09:59:25.397 回答