Django 1.6 现在支持CONN_MAX_AGE
池化数据库连接。
默认情况下,该值为 0(无池化)。这个选项的合理价值是什么?
Django 1.6 现在支持CONN_MAX_AGE
池化数据库连接。
默认情况下,该值为 0(无池化)。这个选项的合理价值是什么?
该值取决于您网站的流量,流量越大,保持连接的秒数越多,我建议设置一个相对较小的值,例如60
并根据使用模式进行调整。
编辑(2018 年):
就像@jcyrss 指出的那样,这种方法有其怪癖,为了将来参考,我建议将池分发给 pgbouncer 之类的东西。
不像“流量越多,保持连接的秒数越多”那么简单。
它还取决于您如何运行 Django。
现在,一种在 gunicorn+greenlet(evenlet 或 gevent)中启动 Django 的流行方式。如果您将 CONN_MAX_AGE 设置为 60(在我的情况下甚至为 5),您可能会收到来自数据库服务器的“连接太多”的抱怨。
有关详细信息,请参阅此。