2012-08-02 14 views
8

मैं django ऐप्स को तैनात करने के लिए विभिन्न सेटअप के साथ प्रयोग कर रहा हूं। मेरी पहली पसंद mod_wsgi के साथ एक सरल अपाचे सर्वर का उपयोग कर रही थी, जिसे मैंने निजी इस्तेमाल के लिए पहले लागू किया था। चूंकि वर्तमान परिनियोजन सार्वजनिक उपयोग के लिए है, इसलिए मैं विभिन्न विकल्पों को देख रहा हूं। ऑनलाइन उपलब्ध जानकारी के आधार पर, ऐसा लगता है कि गतिशील सामग्री सर्वर के लिए स्थिर सामग्री के साथ-साथ रिवर्स प्रॉक्सी की सेवा के लिए nginx होना अच्छा होता है। अब अपाचे के अपने पिछले ज्ञान को देखते हुए मैं गतिशील सामग्री के लिए इसका उपयोग करने पर विचार कर रहा था। लेकिन फिर मैं गनिकोर्न और बाद में यूडब्ल्यूएसजीआई में आया। वर्तमान में मैं यूडब्ल्यूएसजीआई लागू कर रहा हूं। मुझे लगता है कि यह http सहित कई प्रोटोकॉल की अनुमति देता है।क्या यूट्यूब प्रोटोकॉल HTTP प्रोटोकॉल से तेज है?

दूसरे पर एक प्रोटोकॉल का उपयोग करने के क्या फायदे हैं। मैं समझता हूं कि कई सर्वरों पर ऐप को स्केल करने की मेरी आवश्यकता को देखते हुए, इसका मतलब है कि मैं यूनिक्स सॉकेट का उपयोग नहीं कर सकता, जो कि कुछ ट्यूटोरियल्स में अनुशंसित प्रतीत होता है। तो अन्य विकल्प uwsgi या http के साथ टीसीपी सॉकेट हैं। क्या उनके पास बहुत सैद्धांतिक अंतर है। मैं uwsgi प्रोटोकॉल के विवरण से अवगत नहीं हूं और जानना चाहूंगा कि अगर http प्रोटोकॉल पर इसका उपयोग करना चीजों को तेज़ कर देगा?

उत्तर

15

आखिरकार आपकी बाधाएं अनुरोध के लिए विशेष रूटिंग तंत्र में नहीं होने जा रही हैं जबतक कि आप वास्तव में कॉन्फ़िगरेशन को अपनाना नहीं चाहते हैं। तो तर्कसंगत रूप से उस स्तर पर चीजों पर निर्णय लेने पर बहुत ध्यान केंद्रित किया जाना चाहिए।

कुछ संदर्भों के लिए पीईसीओएन से मेरी बात देखें जहां पर बाधाएं वास्तव में होने जा रही हैं।

http://lanyrd.com/2012/pycon/spcdg/

+0

मैं अपनी बात को देखा था और लग रहा है कि यह आपका जवाब होगा पड़ा है। लेकिन सिर्फ एक अकादमिक ज्ञान के उद्देश्य के लिए, क्या यह तेज़ है? –

+3

अंतर यह है कि HTTP में प्राप्तकर्ता को हेडर फ़ील्ड सेपरेटर और लाइन मार्कर के अंत के लिए पार्स करना होगा। Uwsgi में, बाइनरी लम्बाई बाइट डेटा में शामिल होते हैं ताकि प्राप्तकर्ता पहले से ही जानता है कि फ़ील्ड की लंबाई कितनी है और इसे पार्स करने की आवश्यकता नहीं है। तो आप uwsgi का उपयोग करके एक मिनट की मात्रा बचा सकते हैं, लेकिन आप वास्तव में बाल विभाजित कर रहे हैं। सर्वर साइड सॉफ़्टवेयर का डिज़ाइन अधिक महत्वपूर्ण होगा। इसे संभालने के लिए एल्गोरिदम में मैला कोडिंग जल्दी से किसी भी बचत को मिटा देगा। यहां तक ​​कि यूडब्ल्यूएसजीआई लेखक भी स्वीकार करेगा कि उस स्तर पर अंतर बहुत मामूली है। –

संबंधित मुद्दे