2012-06-13 11 views
18

मैं अपने पायथन एप्लिकेशन (Django आधारित) में gevent का उपयोग कर रहा हूं। हालांकि, अब मैं सोच रहा हूं कि इसे उत्पादन में कैसे चलाया जाए। मुझे किस सर्वर का उपयोग करना चाहिए? विकास के दौरान, मैं gevent.pywsgi का उपयोग करता हूं, लेकिन क्या वह उत्पादन तैयार है? मैंने बंदूक के बारे में भी सुना है, लेकिन मैंने इसके बारे में कुछ सुंदर bad benchmarks देखा है।उत्पादन में gevent कैसे चलाएं

नोट: मुझे एसएसएल चाहिए।

+4

इस बेंचमार्क के बारे में दो अंक। 1.) बंदूक परीक्षण परीक्षण डिफ़ॉल्ट सिंक कार्यकर्ता का उपयोग करता है जो कि आप जिस गेवेन कार्यकर्ता का उपयोग करना चाहते हैं। 2.) सारांश से "यदि कोई ऐसी चीज है जिसने यह बेंचमार्क स्पष्ट किया है कि अधिकांश पायथन वेब सर्वर बहुत अच्छा प्रदर्शन प्रदान करते हैं और यदि आपको लगता है कि चीजें धीमी हैं तो पहली बात यह है कि वास्तव में आपका स्वयं का आवेदन है।" –

+8

इसी तरह के प्रश्न का उत्तर देखें (http://stackoverflow.com/questions/7855343/run-web-app-with-gevent/7857201#7857201), गीवेन्ट के लेखक स्वयं संक्षेप में कहते हैं, "बंदूक का उपयोग करें। " – akent

उत्तर

26

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

डिफ़ॉल्ट रूप से, गनिकॉर्न अनुरोधों को पूरा करने के लिए एक सिंक्रोनस वर्कर क्लास का उपयोग करता है, लेकिन इसे रन कमांड में -k gevent जोड़कर आसानी से कॉन्फ़िगर किया जा सकता है।

बस एक क्विक नोट: यदि आप हमेशा की तरह, nginx, वार्निश, आदि जैसे किसी प्रॉक्सी के पीछे gunicorn चलाना चाहिए के रूप में इस gunicorn यह प्रतिक्रिया बफरिंग की वजह से, नहीं तो कर सकते हैं की तुलना में कहीं अधिक अनुरोधों को हैंडल करने की अनुमति देगा।

+4

मैंने देखा है कि अगर मैं इसे gevent के साथ उपयोग करता हूं तो मुझे बफरिंग अक्षम करने की आवश्यकता है। क्या यह Nginx के लाभ रद्द कर देता है? – Flavien

+0

बैक-एंड सर्वर पर HTTP का उपयोग करने का क्या मतलब है? फास्टसीजीआई, एससीजीआई और यूवीजीआईआई के विपरीत, HTTP को फ्रंट-एंड बैक-एंड संचार के लिए डिज़ाइन नहीं किया गया था और उस उद्देश्य के लिए इसका उपयोग इसकी सीमाएं और समस्याएं हैं। –

+0

मेरा मानना ​​है कि रूटिंग जाल इसे संभालने के बाद से आपको हेरोकू का उपयोग करते समय nginx जैसे रिवर्स प्रॉक्सी के साथ चलने की चिंता करने की आवश्यकता नहीं है। – dhackner

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