67

CONN_MAX_AGEDjango 1.6 では、データベース接続のプールがサポートされるようになりました。

デフォルトでは、値は 0 (プーリングなし) です。このオプションの妥当な値は何ですか?

4

2 に答える 2

30

この値は、サイトのトラフィックに依存します。トラフィックが多いほど、接続を保持する秒数が長くなります。比較的小さい値を設定60し、使用パターンに応じて調整することをお勧めします。



編集 (2018):

@jcyrss が指摘したように、このメソッドには癖があります。今後の参考のために、代わりに pgbouncer のようなものにプーリングを渡すことをお勧めします。

于 2014-02-12T14:39:19.600 に答える
28

「トラフィックが多いほど、接続を維持する時間が長くなる」という単純なものではありません。

また、Django の実行方法にも依存します。

現在、gunicorn+greenlet (evenlet または gevent) で Django を起動する一般的な方法の 1 つです。また、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

于 2016-06-04T02:27:16.377 に答える