我正在运行一个多tennant网站,在那里我想减少为每个请求创建一个PostgreSQL连接的开销。Django的CONN_MAX_AGE允许这样做,代价是为PostgreSQL创建了大量打开的空闲连接(8个工作线程* 20个线程= 160个连接)。对于每个连接10MB的情况,这会消耗大量内存。
主要目的是减少连接时间开销。因此我的问题是:
Django 1.6设置:
DATABASES['default'] = {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
....
'PORT': '6432'
'OPTIONS': {'autocommit': True,},
'CONN_MAX_AGE': 300,
}
ATOMIC_REQUESTS = False # default
Postgres:
max_connections = 100
PgBouncer:
pool_mode = session # Can this be transaction?
max_client_conn = 400 # Should this match postgres max_connections?
default_pool_size = 20
reserve_pool_size = 5
https://stackoverflow.com/questions/27418264
复制相似问题