由于我在Django服务器上使用CONN_MAX_AGE: 300
,因为PostgreSQL超出max_connections
限制(默认为100),因此请求失败并显示错误。
解决此问题的最佳策略是什么?我尝试过使用pgpool2,但这根本没有解决问题。现在连接被pgpool 2排队(让站点永远等待,最后导致网关超时)。
我预计使用pgpool会减少转发到PostgreSQL的空闲连接数,不会再造成同样的问题。
这些是我用过的设置:
pgpool2:
num_init_children = 32 # are so many workers needed?
max_pool = 10 # default is 4
postgres的:
max_connections = 400 # upgraded from default 100
uWSGI / Django的:
VPS是8核Linode @ 2.27GHz,2GB内存。