whitenoise postgres djangowhitenoise django database-connection django-1.6

postgres - ¿Cuál es un buen valor para CONN_MAX_AGE en Django?



heroku python (2)

Django 1.6 ahora admite CONN_MAX_AGE para agrupar conexiones de bases de datos .

Por defecto, el valor es 0 (sin agrupamiento). ¿Cuál es un valor razonable para esta opción?


Este valor depende del tráfico de su sitio, mientras más tráfico haya más segundos para retener la conexión, le recomendaría establecer un valor relativamente pequeño como 60 y ajustarlo de acuerdo con el patrón de uso.



Editar (2018):

Al igual que @jcyrss señaló, este método tiene sus peculiaridades, para referencia futura recomendaría distribuir pooling a algo así como pgbouncer en su lugar.


No es tan simple como "cuanto más tráfico, más segundos para retener la conexión".

También depende de cómo ejecutas Django.

Ahora, una forma popular de lanzar Django en gunicornio + greenlet (evenlet o gevent). Y si configura CONN_MAX_AGE a 60 (incluso 5 en mi caso), es posible que se queje de ''demasiadas conexiones'' desde el servidor de bases de datos.

Vea esto para más detalles.

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

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