जो हो रहा है वह यह है कि आपके एप्लिकेशन और / या एप्लिकेशनस्पीवर्स समय-आउट के कारण बंद हो रहे हैं। आपके नए अनुरोध को संसाधित करने के लिए, पैसेंजर को आपके एप्लिकेशन की एक नई प्रति स्टार्टअप करनी होगी, जो कि तेज मशीन पर भी कई सेकंड ले सकती है। समस्या को ठीक करने के लिए, कुछ अपाचे कॉन्फ़िगरेशन विकल्प हैं जिनका उपयोग आप अपने एप्लिकेशन को जीवित रखने के लिए कर सकते हैं।
यहाँ विशेष रूप से मैंने अपने सर्वर पर क्या किया है। आपकी स्थिति में सबसे अधिक महत्वपूर्ण कॉन्फ़िगरेशन विकल्प पैसेंजरस्पेन मैथोड और पैसेंजरमैक्सप्रोएडरइल्डटाइम हैं।
PassengerSpawnMethod smart
PassengerPoolIdleTime 1000
PassengerMaxPreloaderIdleTime 0
PassengerMaxRequests 5000
"स्मार्ट" स्पॉनिंग मोड का उपयोग करके और पैसेंजरमैक्सपैरलोडरइल्डटाइम को बंद करके, यात्री हर समय आपके आवेदन की 1 प्रति मेमोरी में रखेगा (अपाचे शुरू करने के बाद पहले अनुरोध के बाद)। व्यक्तिगत Application
श्रोताओं को fork
इस प्रति से एड किया जाएगा , जो एक सुपर-सस्ता ऑपरेशन है। यह इतनी जल्दी होता है कि आप यह नहीं बता सकते हैं कि आपके आवेदन को किसी श्रोता को स्पॉन करना है या नहीं।
यदि आपका ऐप स्मार्ट स्पैनिंग के साथ असंगत है, तो मैं सुझाव दूंगा कि एक बड़े पैसेंजरपूलइडलिफ्ट को रखें और अपनी साइट को समय-समय पर कर्ल और क्रोनजॉब या मोनेट या किसी चीज़ का उपयोग करते हुए सुनें ताकि यह सुनिश्चित हो सके कि श्रोता जीवित रहे।
पैसेंजर उपयोगकर्ता गाइड इन और अधिक कॉन्फ़िगरेशन विकल्प के लिए एक भयानक संदर्भ है।
संपादित करें : यदि आपका ऐप स्मार्ट स्पैनिंग के साथ असंगत है, तो कुछ नए विकल्प हैं जो बहुत अच्छे हैं
PassengerPreStart http://myexample.com/
PassengerPreStart http://myexample2.com:3500/
PassengerMinInstances 3
इसलिए, यदि आप पैसेंजरप्रेस्टार्ट और पैसेंजरमइनस्टांस को जोड़ते हैं, तो यात्री अपाचे लोड के तुरंत बाद 3 उदाहरणों को स्पिन करेगा, और हमेशा कम से कम 3 इंस्टेंसेस को रखेगा, इसलिए आपके उपयोगकर्ता शायद ही कभी (कभी भी) देरी देखेंगे।
या, यदि आप PassengerMaxPreloaderIdleTime 0
पहले से ही स्मार्ट स्पॉनिंग (अनुशंसित) का उपयोग कर रहे हैं, तो आप PassengerPreStart
तत्काल स्टार्टअप का अतिरिक्त लाभ प्राप्त करने के लिए जोड़ सकते हैं ।
Phusion.nl पर नायकों के लिए बहुत धन्यवाद !