django - ما القيمة الجيدة لـ CONN_MAX_AGE في جانغو؟




database-connection django-1.6 (2)

تعتمد هذه القيمة على عدد زيارات موقعك ، فكلما زاد عدد الزيارات لعدد ثوانٍ للاحتفاظ بالاتصال ، أوصي بتعيين قيمة صغيرة نسبيًا مثل 60 وضبطها وفقًا لنمط الاستخدام.



تحرير (2018):

مثلjcyrss المشار إليها ، هذه الطريقة لها المراوغات ، للرجوع إليها في المستقبل أوصي توزيع الخروج إلى شيء مثل pgbouncer بدلا من ذلك.

يدعم CONN_MAX_AGE 1.6 من Django CONN_MAX_AGE لتجميع اتصالات قاعدة البيانات .

بشكل افتراضي ، القيمة هي 0 (لا تجمع). ما هي القيمة المعقولة لهذا الخيار؟


ليس بهذه البساطة "كلما زادت حركة المرور زاد عدد الثواني للاحتفاظ بالاتصال".

هذا يعتمد أيضًا على كيفية تشغيل Django.

الآن ، إحدى الطرق الشائعة لإطلاق Django في gunicorn + greenlet (evenlet أو gevent). وإذا قمت بتعيين 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







django-1.6