2012-10-28 15 views
5

मैं पोस्टग्रेस और अपाचे के साथ ईसी 2 छोटे उदाहरण (1.7 जीबी रैम) पर अपने ऐप का अल्फा संस्करण चला रहा हूं (wsgi-mod इसे डिमन के रूप में नहीं बल्कि सीधे)।डीजेगो प्रदर्शन/मेमोरी उपयोग

प्रदर्शन ठीक है, लेकिन यह बेहतर हो सकता है। मैं स्मृति उपयोग के बारे में भी चिंतित हूं यदि बहुत से परीक्षण उपयोगकर्ता शामिल होंगे।

अपाचे से nginx सर्वर पर स्विच करना बुद्धिमान है? क्या किसी भी Django डेवलपर ने ऐसा किया है और परिणाम के साथ खुश है? रास्ते पर किसी भी अन्य सुझाव का भी स्वागत है।

धन्यवाद

+0

क्या यह सर्वर गलती पर नहीं होना चाहिए? – tr4656

+1

कुछ समय पहले स्विच किया गया - मैंने किया सबसे अच्छा कदम। प्रदर्शन और राम उपयोग एक सपना है। ऐप्स को Gunicorn – Thomas

उत्तर

4

हम एक साथ nginx का उपयोग कर रहे एक gunicorn सर्वर में हमारे Django अनुप्रयोग के साथ। प्रदर्शन अभी तक काफी अच्छा है, लेकिन मैंने अपाचे सेटअप के साथ कोई सीधी तुलना नहीं की है। मेमोरी उपयोग काफी छोटा है, nginx लगभग 10 एमबी मेमोरी और 150 एमबी के बारे में बंदूक लेता है (लेकिन यह एक से अधिक ऐप भी सर्वर करता है)। बेशक यह ऐप से ऐप में भिन्न हो सकता है।

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

+0

के माध्यम से उत्तर के लिए धन्यवाद दिया जाता है। संख्या बहुत दिलचस्प हैं। मुझे आश्चर्य है कि मैं सस्ता हो सकता हूं और यहां तक ​​कि एक सस्ता माइक्रो Ec2 इंस्टेंस (613 एमबी) भी जा सकता हूं। मेरे पास केवल एक ऐप और थोड़ा पैसा है - स्टार्टअप होने के नाते।:) मैं इसे एक शॉट दे सकता हूं और देख सकता हूं कि मुझे मेमोरी ओवरफ्लो मिल गया है या नहीं। मैंने आज कुछ शोध किया है, यूडब्ल्यूएसजीआई के बारे में आपकी राय क्या है, जो कि बंदूक के विकल्प का सही है? मुनिन के लिए भी धन्यवाद। बहुत आसान में आ सकता है। – Houman

+0

ध्यान रखें कि सूक्ष्म उदाहरणों में आवंटित CPU की निश्चित मात्रा नहीं है। लेकिन यथार्थवादी परीक्षणों का एक सेट विकसित करें और जांचें, शायद यह पर्याप्त है! हालांकि, यूडब्ल्यूएसजीआई के बारे में कोई व्यक्तिगत अनुभव नहीं है। आपकी सलाह के लिए – j0nes

+0

+1। सच। सूक्ष्म उदाहरण छोटे विस्फोटों में सबसे अच्छा काम करते हैं, उस विस्फोट के भीतर वे वास्तव में 2 सीपीयू असाइन किए जाते हैं। शायद मुझे सब कुछ के बाद छोटे उदाहरण के साथ रहना चाहिए। कम से कम एक सीपीयू लगातार सौंपा गया। एक आखिरी सवाल, क्या आप एक ही उदाहरण पर डीबी (पोस्टग्रेस या माइस्क्ल) रखते हैं? धन्यवाद – Houman

1

मेरे मिश्रित परिणाम हैं। जब ऐप तेज़ होता है, तो गैर-अवरुद्ध होता है, nginx एक छोटी मेमोरी पदचिह्न के साथ अच्छा प्रदर्शन करता है। लाभ एक उच्च यातायात के साथ बड़ा है।

मेरे पास कुछ जीआईएस अनुप्रयोग हैं जो थोड़ा धीमे हैं, इस संदर्भ में nginx बुरी तरह विफल रहता है। मेरी सलाह है: कुछ भी सेकंड पर ब्लॉक कर सकते हैं जो nginx + wsgi का उपयोग न करें।

+1

+1 सलाह के लिए धन्यवाद – Houman

2

आप mod_wsgi के डिमन मोड का उपयोग क्यों नहीं कर रहे हैं? यदि आप एम्बेडेड मोड का उपयोग कर रहे हैं तो आप मेमोरी समस्याओं के लिए स्वयं को सेट अप कर रहे हैं यदि आप अपाचे सेट अप करने के तरीके से सावधान नहीं हैं।

जाओ का एक पढ़ा है:

http://blog.dscpl.com.au/2012/10/why-are-you-using-embedded-mode-of.html

और यह भी मेरी PyCon पर बात देखने के लिए:

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

इसके अलावा अपने प्रश्न में संशोधन और संकेत मिलता है जो अपाचे एम पी एम आप उपयोग कर और क्या कर रहे हैं एमपीएम सेटिंग्स हैं।

तुलनात्मक कॉन्फ़िगरेशन के लिए गनिकोर्न या यूडब्ल्यूएसजीआई जैसे विकल्पों का उपयोग करने के लिए, स्मृति आवश्यकताएं बहुत अलग नहीं हो रही हैं क्योंकि अंतर्निहित सर्वर यह नहीं होगा कि कितनी मेमोरी का उपयोग किया जाता है, यह है इसके शीर्ष पर चल रहे आपके विशिष्ट पायथन वेब एप्लिकेशन होने जा रहे हैं। यह एक आम गलतफहमी है कि गनिकोर्न या यूडब्ल्यूएसजीआई किसी भी तरह से जादूगर रूप से सभी समस्याओं को हल करता है और अपाचे भी ऐसा नहीं कर सकता है। एक पायथन वेब अनुप्रयोग के लिए अपाचे को ठीक से सेट करें और इसके डिफ़ॉल्ट पर भरोसा न करें और यह अन्य समाधानों के समान ही सक्षम है और आपकी आवश्यकताओं के आधार पर बहुत अधिक लचीलापन प्रदान कर सकता है।

बहुत अधिक सुझाव है कि आप वास्तविक मुद्दों और बाधाओं के बारे में जानने के लिए कुछ निगरानी स्थापित करें।

+0

+1 धन्यवाद ग्राहम। आपका ब्लॉग बहुत अच्छा है और आपका भाषण जानकारीपूर्ण था। मैं अभी भी तकनीक-प्रयास-चरण में हूं और सभी के बाद अपाचे-डिमन को छू सकता हूं। लेकिन आपने nginx के हल्के वजन को प्राप्त करने के लिए भी उल्लेख किया है, अपाचे को कुछ बिल्डिन मोड अक्षम करने की आवश्यकता है। क्या यह हासिल करना मुश्किल है? – Houman

+0

आप जिस लिनक्स वितरण का उपयोग कर रहे हैं और उसके अपाचे डिस्ट्रो का उपयोग कर रहे हैं, इस पर निर्भर करता है। उदाहरण के लिए http://www.cyberciti.biz/faq/howto-disable-apache-modules-under-linux-unix/ अन्य प्लेटफॉर्म थोड़ा अलग हो सकते हैं। यदि अपाचे इंस्टॉलेशन पर चल रहा है, तो इसका मतलब हो सकता है कि उचित लोड मॉड्यूल लाइन पर टिप्पणी करें। –

+0

आह माफ करना, उल्लेख करना भूल गया कि मैं उबंटू 12.04 का उपयोग अपाचे के साथ कर रहा हूं जो इसके साथ आता है। तो अब मैं उन्हें अक्षम करने के लिए देखता हूं। क्या सभी उपलब्ध मॉड्यूल की एक सूची है जिसे मैं सुरक्षित रूप से अक्षम कर सकता हूं आदि? – Houman

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