相关疑难解决方法(0)

我应该在Django的DATABASE_ENGINE中使用哪个Postgres值?

这是我第一次使用PostgreSQL 8.4.2和Django(过去我一直使用MySQL或sqlite3).我应该使用哪个值DATABASE_ENGINEsettings.py,postgresql_psycopg2还是postgresql?他们如何彼此不同?

django postgresql psycopg2

28
推荐指数
1
解决办法
3547
查看次数

使用Django的CONN_MAX_AGE进行pgbouncer的理想设置

我正在运行一个多租户网站,我希望减少每个请求创建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
Run Code Online (Sandbox Code Playgroud)

Postgres的:

max_connections = 100
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

django connection-pooling pgbouncer

22
推荐指数
1
解决办法
4556
查看次数