2010-08-28 14 views
7

पिलोन ऐप्स को तैनात करने के कई तरीके हैं। - अपाचे या nginx के माध्यम से प्रॉक्सी चिपकाने के लिए - mod_wsgi साथ एप्लिकेशन एम्बेड - और शायद अधिक ...एक पिलोन ऐप को तैनात करने का सबसे अच्छा तरीका क्या है?

मैं विभिन्न तरीकों के बारे में एक बहुत कुछ पढ़ा है, लेकिन करने में विफल रहा है - कुछ नुकीला nginx + uwsgi कॉम्बो का उपयोग कर वास्तव में फैसला करें कि कौन सा चयन करना है।

nginx के माध्यम से पेस्ट करने के लिए प्रॉक्सी करना सेटअप करने का सबसे आसान तरीका प्रतीत होता है, लेकिन क्या यह कुशल है? Mod_wsgi या uswgi से धीमा हो पेस्ट नहीं होगा? यदि हां, तो परेशानी के प्रदर्शन में प्रदर्शन वृद्धि क्या है?

कुछ विशेषज्ञों ने मुझे सबसे अच्छा समझौता चुनने में मदद करने की आवश्यकता है ... मैं सादगी चाहते हैं, लेकिन मैं सभ्य जरूरत प्रदर्शन (यदि बढ़त काटने नहीं), और आप, Obiwan केनोबी, मेरे ही उम्मीद कर रहे हैं;)

उत्तर

1

सबसे अच्छा जवाब है, यह निर्भर करता है।

शुद्ध सादगी दृष्टिकोण से, apache2/mod_wsgi शायद प्रबंधित करने के लिए सबसे आसान है क्योंकि आपके पास अपाचे को समझने वाले लोगों का एक बड़ा पूल है।

प्रदर्शन दृष्टिकोण से, यह निर्भर करता है।

यदि आपका आवेदन बहुत ढांचागत है और बहुत ही स्थिर सामग्री (सीएसएस, छवियां) गहन नहीं है, तो वेबसर्वर और पिलोन के बीच गेटवे आपकी बाधाओं की अधिक संभावना है और लगभग कोई तैनाती इसे संभाल सकती है।

पेस्ट काफी तेज़ है। मुझे nginx/uwsgi का इंटरफेस apache2/mod_wsgi से थोड़ा तेज होने के लिए मिला। nginx की स्थिर फ़ाइल प्रदर्शन और स्मृति आवश्यकताओं nginx के पक्ष में भी पक्ष है।

tonylandis.com/python/deployment-howt-pylons-nginx-and-uwsgi/ cd34.com/blog/programming/:

कुछ साइटों के बारे में मैं दोनों कि बात का सामना करना पड़ा हैं अजगर/तोरणों और फेसबुक-आवेदन-लेआउट/ code.google.com/p/modwsgi/wiki/IntegrationWithPylons

तुलना mpm-prefork apache2/mpm कार्यकर्ता के बजाय के रूप में साथ हैं मेरे द्वारा की गई मैं मेरे सेटअप में mod_php5 की आवश्यकता नहीं थी।

+0

हू। वेब सर्वर और पिलों के बीच गेटवे व्यावहारिक रूप से कभी भी बाधा नहीं होगी। कम से कम सीजीआई को छोड़कर, होस्टिंग तंत्र के ऊपरी हिस्से में इतनी कम मात्रा है कि वास्तविक प्रणाली (एक हैलो वर्ल्ड प्रोग्राम नहीं) के लिए अभ्यास में विभिन्न होस्टिंग तंत्र के बीच थोड़ा अंतर होगा। इसके बजाय बाधा अनुप्रयोग, प्रतिपादन प्रणाली और डेटाबेस होगा। सुनिश्चित नहीं है कि आप क्या मतलब चाहते हैं, लेकिन यह वास्तव में सही ध्वनि में नहीं आता है। –

2

मैं क्या कहना है कि यदि आवेदन स्थैतिक सामग्री की तुलना में अधिक ढांचे निर्भर निर्भर है, सीमित कारक वेबसर्वर होगा मतलब -> ढांचे और मुझे nginx के प्रदर्शन में नगण्य मतभेद मिले हैं -> uwsgi -> पिलोन और apache2/mpm-worker -> mod_wsgi -> सीमित कारक के रूप में पिलोन पिलोन है। इसका मतलब यह नहीं है कि पिलोन धीमा है।

कोई फर्क नहीं पड़ता कि मैंने repoze.who/what के साथ किस तैनाती विधि का उपयोग किया था, मुझे प्रति सेकंड कोर प्रति सेकंड 280 अनुरोधों को स्केल करना मुश्किल था।

@mkucharz, उन प्रदर्शन परिणामों के लिए, ये परिणाम तीन साल के हैं और आज भी मौजूद कॉन्फ़िगरेशन के करीब नहीं आते हैं। पिलोन 1.0 0.9 से लगभग 10% तेज है, फ्लूप बहुत अधिक परिपक्व है, और यह uwsgi या mod_wsgi का परीक्षण नहीं करता है। यह माको के बजाए ताकतवर का भी उपयोग करता है, जो टेस्ट की उम्र को इंगित करता है।

अन्य छिपे हुए चरों में पायथन का संस्करण शामिल है। कुछ वितरणों में, मुझे पाइथन 2.5 पाइथन 2.6 की तुलना में थोड़ा तेज़ पाया गया है जो एप्लिकेशन के अनुसार करता है।

अस्वीकरण:

  • Pylons धीमी गति से नहीं है।
  • mod_wsgi और uwsgi प्रदर्शन अंतर उत्पादन सेटिंग्स में नगण्य हैं।
  • Nginx की स्थिर फ़ाइल प्रदर्शन अपाचे से बेहतर है।
  • यदि mod_php की आवश्यकता नहीं है तो अपाचे/एमपीएम-वर्कर मोड-प्रीफ़ोर से बहुत तेज है।
  • लगभग कोई भी तैनाती जो आप समझते हैं वह शायद 99% वेबपैप्स के लिए पर्याप्त है।
  • प्रकाशित बेंचमार्क का 99% सही ढंग से पर्यावरण का परीक्षण नहीं करते हैं। एक पृष्ठ को 10000 बार मारना असली दुनिया के प्रदर्शन का संकेत नहीं है।
  • रात में देर से पोस्ट करते समय सहायक होने की कोशिश करना कभी काम नहीं करता है। मुझे पता था कि जब मैंने यह ट्वीट ट्वीट पर देखा था तो मुझे कुछ भी नहीं कहना चाहिए था।