मेरे पास uWSGI पर चल रहे कई ऐप्स हैं। उनमें से ज्यादातर समय के साथ स्मृति उपयोग में वृद्धि करते हैं। मैंने हमेशा इसे एक स्मृति रिसाव के लिए जिम्मेदार ठहराया है जिसे मैंने ट्रैक नहीं किया था। लेकिन हाल ही में मैंने देखा है कि विकास काफी चंचल है। मैं सोच रहा हूं कि प्रत्येक खंड एक प्रक्रिया शुरू होने से संबंधित है या नहीं।क्या uWSGI बूट प्रक्रियाओं पर सभी प्रक्रियाओं को शुरू करता है?
क्या यूडब्ल्यूएसजीआई बूट प्रक्रिया पर सभी प्रक्रियाओं को शुरू करता है, या क्या यह केवल एक नया शुरू होता है जब इसे आवश्यक बनाने के लिए पर्याप्त अनुरोध आते हैं?
[uwsgi]
strict = true
wsgi-file = foo.py
callable = app
die-on-term = true
http-socket = :2345
master = true
enable-threads = true
thunder-lock = true
processes = 6
threads = 1
memory-report = true
अद्यतन: इस प्रासंगिक लग रहा है:
यहाँ एक उदाहरण config है http://uwsgi-docs.readthedocs.org/en/latest/Cheaper.html
"कार्यकर्ता" "प्रक्रिया" के रूप में एक ही बात मतलब यह है (उत्तर yes हो रहा है)? ऐसा है तो ऐसा लगता है कि अगर मैं नंबर हमेशा स्थिर रहना चाहते हैं लगता है, मुझे क्या करना चाहिए:
cheaper = 6
cheaper-initial = 6
processes = 6
धन्यवाद!हाँ, मुझे मॉड्यूल लोडिंग और मेमोरी ग्रोथ को प्रभावित करने वाली अन्य चीजों के बारे में पता था, मैं सिर्फ प्रक्रिया बूटिंग के बारे में सोच रहा था। क्या आप जानते हैं कि सस्ता सेटिंग्स क्या हैं? –
सस्ता सेटिंग स्टार्टअप पर श्रमिकों को रोकने के बजाय, पहले अनुरोध पर इसे करने से रोक देगा। यह आपको यह निर्धारित करने की अनुमति देता है कि स्टार्टअप पर कितने श्रमिक पैदा होंगे, अनुरोधों पर कितने श्रमिकों को तैयार किया जा सकता है (यदि आवश्यक हो) और यदि श्रमिकों को अनुरोध पर तैयार किया जाता है तो अब आवश्यकता नहीं होने पर अनुरोधों को स्वचालित रूप से मार दिया जाना चाहिए। – GwynBleidD
यूवीजीआई का उपयोग करने वाली डिफ़ॉल्ट प्रणाली सस्ता है और ये सेटिंग्स इसके व्यवहार को कॉन्फ़िगर करती हैं, या यह एक विशेष मोड है जो सेटिंग्स का उपयोग करते समय सक्रिय होता है? –