2009-02-24 9 views
6

लोड करने के लिए लंबे समय की आवश्यकता होती है, मैं कुछ रेल अनुप्रयोगों को होस्ट करने के लिए अपाचे + पैसेंजर का उपयोग करता हूं। लंबे समय तक कोई अनुरोध नहीं होने पर कुछ नींद मोड में जाना प्रतीत होता है। साइट को लोड करने के लिए इसमें 10-20 सेकंड लगते हैं। ऐसा लगता है कि ऐसा कुछ ऐसा है जो जागने के लिए होता है जब लंबे समय तक कोई अनुरोध नहीं होता है।मेरे यात्री संचालित रेल ऐप को कभी-कभी

मैं इसे कैसे ठीक कर सकता हूं? मेरे पास पर्याप्त रैम है इसलिए सोने के लिए जो कुछ भी सोता है, उसे कोई समस्या नहीं होनी चाहिए। ;)

उत्तर

10

यात्री के लिए PassengerPoolIdleTime पैरामीटर पर नज़र डालें। यह स्मृति की सुरक्षा के लिए बंद होने से पहले एप्लिकेशन आवृत्ति निष्क्रिय होने की अधिकतम संख्या बताता है।

डिफ़ॉल्ट 300 है, लेकिन आप एक उच्च संख्या निर्धारित करने का प्रयास कर सकते हैं और देख सकते हैं कि इससे मदद मिलती है या नहीं।

1

इसके अलावा, यदि आप साझा होस्ट पर हैं और उस सेटिंग को नहीं बदल सकते हैं, तो आप हमेशा प्रत्येक एक्स सेकेंड में एक बार अपनी साइट को हिट करने के लिए क्रॉन स्क्रिप्ट लिख सकते हैं (जहां एक्स यात्री यात्री IDleTime से थोड़ा कम है), और अपडेट करें मतदान करने वाले बॉक्स के आईपी पते से अनुरोधों को अनदेखा करने के लिए विश्लेषिकी पैकेज।

1

यात्री दस्तावेज पैसेंजरपूलइडटाइम को गैर-साझा होस्टों पर 0 पर सेट करने की सिफारिश करता है जो केवल कुछ रेल ऐप्स चला रहे हैं। इसे इसे अनलोड होने से रोकना चाहिए जब तक कि यह बिल्कुल जरूरी न हो।

0

@ x0ne, आप वैश्विक सर्वर कॉन्फ़िगरेशन में PoolIdleTime (pool_idle_time nginx में) सेट कर सकते हैं। Nginx की स्थापना में जो /opt/nginx/conf/nginx.conf है।

यहां यात्री के दस्तावेज का हिस्सा है जो पूलइडटाइम को कवर करता है: http://www.modrails.com/documentation/Users%20guide.html#PassengerPoolIdleTime

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