Подтвердить что ты не робот

Что является хорошим значением для CONN_MAX_AGE в Django?

Django 1.6 теперь поддерживает CONN_MAX_AGE для объединения соединений с базой данных.

По умолчанию значение равно 0 (без объединения). Что такое разумное значение для этой опции?

4b9b3361

Ответ 1

Это значение зависит от трафика вашего сайта, тем больше трафика занимает больше секунд, чтобы сохранить соединение, я бы рекомендовал установить относительно небольшое значение, например 60, и настроить его соответственно шаблону использования.

Ответ 2

Не так просто, как "больше трафика больше секунд, чтобы сохранить соединение".

Это также зависит от того, как вы запускаете Django.

Теперь, один популярный способ запустить Django в gunicorn + greenlet (Evenlet or gevent). И если вы установите CONN_MAX_AGE на 60 (даже 5 в моем случае), вы можете получить жалобу "слишком много соединений" с сервера БД.

Подробнее см. здесь.

https://github.com/benoitc/gunicorn/issues/996

https://serverfault.com/info/635100/django-conn-max-age-persists-connections-but-doesnt-reuse-them-with-postgresq