2012-08-27 12 views
12

Django 1.4 django sessions बनाए रखने के लिए कई तरीके प्रदान करता केवलdjango डीबी + कैश आधारित सत्र पर django हस्ताक्षरित कुकी सत्र का उपयोग करने की प्रदर्शन तुलना? के प्रयोग पर</p> <p>मेरे दृष्टिकोण:

i) कैश: बेहतर नहीं है, उन सत्रों मेम्कैश से बाहर पर्ज हो सकता है।

ii) डीबी + कैश (cached_db): पसंदीदा, सरल और सुरक्षित समाधान।

iii) हस्ताक्षर किए गए कुकी सत्र: पसंदीदा, कोई डेटाबेस हिट नहीं।

मानते हैं कि सत्र डेटा बहुत छोटा है यानी कुकी में इसे संग्रहीत करने में कोई समस्या नहीं है। डेटाबेस + मेमकैच संचालित सत्र इंजन पर हस्ताक्षरित कुकी का उपयोग करने का कोई प्रदर्शन लाभ है? एन समवर्ती नए उपयोगकर्ताओं के लिए, एन डेटाबेस हिट सहेजे जाने का आदेश होगा। यह कुल प्रश्नों को कम करेगा कि डेटाबेस सर्वर प्रति यूनिट समय को संभालना है।

अद्यतन: हमें रेडिस या एयरोस्पेइक को वास्तव में मजबूत और उच्च थ्रुपुट सत्र बैजेंड के लिए django के रूप में मिला। हम के रूप में सत्र बैकएंड redis उपयोग कर रहे हैं

उत्तर

5

आप एन समवर्ती प्रश्नों (एन - समवर्ती नई उपयोगकर्ताओं) को संभालने के लिए सक्षम होना चाहिए।

आप एक बहुत बड़े पैमाने पर केवल पर अंतर देखते हैं। आपको निराशावादी होना चाहिए (सर्वर नीचे है, खराब बकवास, अमेज़ॅन बैंकरपीसी) और आपका डेटाबेस घूमने वाले घंटों में सभी उपयोगकर्ताओं को संभालने में सक्षम होना चाहिए।

  • 10 000 000 कुकी सत्र के साथ उपयोगकर्ताओं को आप 0 $ अतिरिक्त, iframes और मोबाइल कैश सत्र के साथ
  • 10 000 000 उपयोगकर्ताओं आप सैकड़ों या डॉलर के सौ से भी कम समय दैनिक खर्च होंगे, में खो सत्र के साथ समस्याओं खर्च होंगे पुनः आरंभ करने के मामले
  • 10 000 000 cache_db सत्र के साथ उपयोगकर्ताओं को आप हजारों डॉलर दैनिक (किसी भी स्थायी संग्रह में सक्षम एक बार में 1 000 000 हिट को संभालने के लिए, उन का 10%) खर्च होंगे

मैं redis बैकएंड का उपयोग (डिस्क पर आवधिक बचत) एसी में स्विच करने की संभावना के साथ memcached सेवाओं का चमक।

http://www.icis.com/blogs/icis-chemicals-confidential/files/2011/10/19/goodcheapfast.jpg

+0

कहाँ 'SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies'' सत्र डेटा संग्रहीत किया जाता है? –