web-dev-qa-db-fra.com

Quelle est une bonne valeur pour CONN_MAX_AGE dans Django?

Django 1.6 prend désormais en charge CONN_MAX_AGE pour regrouper les connexions à la base de données .

Par défaut, la valeur est 0 (pas de regroupement). Quelle est une valeur raisonnable pour cette option?

45
Brendan Nee

Cette valeur dépend du trafic de votre site, plus il y a de trafic, plus il y a de secondes pour conserver la connexion, je vous recommande de définir une valeur relativement petite comme 60 et le régler en fonction du modèle d'utilisation.



Modifier (2018):

.

20
MGP

Pas aussi simple que "plus il y a de trafic, plus il y a de secondes pour conserver la connexion".

Cela dépend également de la façon dont vous exécutez Django.

Maintenant, une façon populaire de lancer Django en gunicorn + greenlet (evenlet ou gevent). Et si vous définissez CONN_MAX_AGE à 60 (même 5 dans mon cas), vous pouvez vous plaindre de trop de connexions 'du serveur DB.

Voir ceci pour plus de détails.

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

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

14
Jcyrss