2009-05-13 18 views
6

मेरी रेल साइटें मैंगलेल चलाती हैं, मुझे स्मृति की मात्रा के साथ समस्या हो रही है। मेरी रूबी-बिन प्रक्रियाएं 66 एमबी निवासी स्मृति का उपयोग कर रही हैं। रेल द्वारा उपयोग की जाने वाली मेमोरी की मात्रा को मैं कैसे कम कर सकता हूं?मोंगल रेल मेमोरी पदचिह्न को कम करें और प्रदर्शन बढ़ाएं?

यह बहुत महंगा नहीं है कि कई रेल सर्वर एक ही मशीन पर चल रहे हैं यदि वे इस दर पर स्मृति खा रहे हैं। मेरी php5 fcgi प्रक्रिया 15-25 एमबी के बीच बैठती है।

मैं आरओआर से काफी अपरिचित हूं, जेआरबी मदद का उपयोग करूँगा? मेमोरी पदचिह्न को कम करने और बढ़ते प्रदर्शन को कम करने में सहायक कोई भी टिप्पणी स्वागत से अधिक है।

उत्तर

7

आप Phusion Passenger और Ruby Enterprise Edition देख सकते हैं, जो आजकल रेल ऐप्स के लिए वास्तविक मानक सेटअप है। इसका एक उद्देश्य स्मृति उपयोग को काट रहा है। यह Mongrels का एक गुच्छा होने से भी आसान है।

+0

+1 मैं दूसरा यात्री अनुशंसा करता हूं। –

+0

+1 मैं आरईई सिफारिश को दूसरी बार, क्योंकि इसमें एमबीएआरआई पैच शामिल हैं जो इसे बहुत कम स्मृति का उपभोग करते हैं। वह या 1.9 भी कम उपयोग करता है। यह भी सुनिश्चित करें कि आप जहां संभव हो 32 बिट ओएस चला रहे हैं। – rogerdpack

3

यदि आप किसी और चीज के लिए अपाचे से बंधे नहीं हैं, तो मैं फ़्यूज़न पैसेंजर के साथ nginx भी कोशिश करूंगा। यदि आप स्मृति उपयोग के बारे में चिंतित हैं, तो आपको अपाचे की तुलना में nginx से एक छोटा पदचिह्न देखना चाहिए, और पैसेंजर का सबसे आखिरी संस्करण न्यूनतम सिरदर्द के साथ आपके लिए nginx डाउनलोड, संकलित और स्थापित करेगा।

1

मैं अब तक नहीं कहूंगा कि यात्री वास्तव में मानक है, लेकिन यह बहुत अधिक कर्षण प्राप्त कर रहा है। हमने अभी Nginx + यात्री पर स्विच किया है, और हमारे रूबी ऐप (यानी मोंरेल्स बनाम पैसेंजर) मेमोरी पदचिह्न लगभग 450 एमबी से 2 9 5 एमबी तक गिर गया है। यह कम हो सकता है, क्योंकि यात्री निष्क्रिय होने पर प्रोसेस को मार देगा (यह कॉन्फ़िगर करने योग्य है), लेकिन निश्चित रूप से यदि आप यातायात प्राप्त कर रहे हैं और यह उन सभी उदाहरणों का उपयोग कर रहा है जिन्हें आपने कॉन्फ़िगर किया है, तो वे तदनुसार स्मृति का उपयोग करेंगे ।

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

3

आप Thin के साथ अपनी मोंगेल प्रक्रिया को भी बदल सकते हैं जो अधिक कुशल है और हाल ही में इसे अपने कचरा संग्रह (इवेंटमाचिन के माध्यम से) में भी बेहतर बनाया गया है ताकि इसे और भी बेहतर बनाया जा सके।

हम अच्छे परिणामों के साथ nginx frontends के पीछे पतली क्लस्टर का उपयोग करते हैं।

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