首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Django的CONN_MAX_AGE设置pgbouncer的理想设置

使用Django的CONN_MAX_AGE设置pgbouncer的理想设置
EN

Stack Overflow用户
提问于 2014-12-11 16:23:45
回答 1查看 6.6K关注 0票数 25

我正在运行一个多tennant网站,在那里我想减少为每个请求创建一个PostgreSQL连接的开销。Django的CONN_MAX_AGE允许这样做,代价是为PostgreSQL创建了大量打开的空闲连接(8个工作线程* 20个线程= 160个连接)。对于每个连接10MB的情况,这会消耗大量内存。

主要目的是减少连接时间开销。因此我的问题是:

Django 1.6设置:

代码语言:javascript
复制
DATABASES['default'] = {
    'ENGINE':   'django.db.backends.postgresql_psycopg2',

     ....

    'PORT': '6432'
    'OPTIONS': {'autocommit': True,},
    'CONN_MAX_AGE': 300,
}

ATOMIC_REQUESTS = False   # default

Postgres:

代码语言:javascript
复制
max_connections = 100

PgBouncer:

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27418264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档