Postgresql 多进程pgbouncer池:可用连接不足
我的设置:Postgresql 多进程pgbouncer池:可用连接不足,postgresql,connection-pooling,pgbouncer,Postgresql,Connection Pooling,Pgbouncer,我的设置: postgresql.conf:max_connections=100 pgbouncer配置: [databases] markets_parser = host=localhost port=5432 dbname=markets_parser user=argon datestyle=ISO connect_query='SELECT 1' [pgbouncer] logfile = /var/log/postgresql/pgbouncer.log listen_addr
postgresql.conf:max_connections=100
pgbouncer配置:
[databases]
markets_parser = host=localhost port=5432 dbname=markets_parser user=argon
datestyle=ISO connect_query='SELECT 1'
[pgbouncer]
logfile = /var/log/postgresql/pgbouncer.log
listen_addr = 127.0.0.1
listen_port = 6432
unix_socket_dir = /var/run/postgresql
auth_type = trust
auth_file = /etc/pgbouncer/userlist.txt
admin_users = postgres
stats_users = postgres
pool_mode = session
server_reset_query = DISCARD ALL
max_client_conn = 90
default_pool_size = 70
min_pool_size = 20
reserve_pool_size = 10
我从django应用程序(不仅仅是站点应用程序,还包括高负载多线程解析机制)和一堆django管理命令(作为一个单独的进程运行)中使用它,当我只及时运行一个命令时,它工作得很好(尽管,几乎总是这样,当我突然有一些活动时,它不会工作),当我同时运行两个命令时,会引发很多“连接不足”错误
怎么办?您可以安全地将
max\u client\u conn
增加到一个更高的数字。这是可以连接到而不是PostgreSQL
服务器的客户端总数。它可以是您想要的最高值,例如2000或更高
这确实是连接池的主要目的之一——保持对数据库开放的少量连接,同时允许对池本身的大量终端客户端连接
重要的是设置
default\u pool\u size
不高于postgresql.conf
文件中的max\u connections
设置。对不起,先生,pgbouncer文档中可能有这样的说明吗?