Django 1.6现在支持 用于池数据库连接的 CONN_MAX_AGE。
CONN_MAX_AGE
默认情况下,该值为0(没有池)。这个选项的合理值是什么?
这个值取决于你网站的流量,流量越多,保持连接的时间就越长,我建议设置一个相对较小的值,比如 60,然后根据使用模式进行相应的调整。
60
编辑(2018) : 就像@jcyrss 指出的那样,这个方法有它自己的特点,为了以后的参考,我建议把池分发给像 pgbuncher 这样的东西。
不像“流量越大,保持连接的时间就越长”那么简单。
这也取决于您如何运行 Django。
现在,在 gunicorn + greenlet (evenlet 或 gevent)中启动 Django 的一种流行方式。如果您将 CONN _ MAX _ AGE 设置为60(在我的例子中甚至是5) ,您可能会收到来自 DB 服务器的抱怨“连接太多”。
详情请参阅此文。
Https://github.com/benoitc/gunicorn/issues/996
Https://serverfault.com/questions/635100/django-conn-max-age-persists-connections-but-doesnt-reuse-them-with-postgresq