Django中CONN_MAX_AGE有什么好处?

Bre*_*Nee 50 django database-connection django-1.6

Django 1.6现在支持CONN_MAX_AGE池数据库连接.

默认情况下,该值为0(无池).这个选项的合理价值是什么?

MGP*_*MGP 21

此值取决于您网站的流量,流量越多,保留连接的秒数越多,我建议设置一个相对较小的值60,并根据使用模式进行调整.



编辑(2018):

像@jcyrss所指出的那样,这种方法有它的怪癖,为了将来的参考,我建议将池化为pgbouncer.


Jcy*_*rss 15

不像"流量越多,保留连接的秒数越多"这么简单.

它还取决于你如何运行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