سؤال

تعمل مواقع Rails الخاصة بي على تشغيل Mongrel، وأواجه مشكلة في مقدار الذاكرة المستخدمة.تستخدم عمليات Ruby-bin الخاصة بي ما يصل إلى 66 ميجابايت من الذاكرة المقيمة.كيف يمكنني تقليل مقدار الذاكرة التي تستخدمها القضبان؟

ليس من الاقتصادي جدًا تشغيل العديد من خوادم Rails على جهاز واحد إذا كانت تستهلك الذاكرة بهذا المعدل.يتراوح حجم عمليات php5 fcgi بين 15 و25 ميجابايت.

أنا لست على دراية بـ RoR إلى حد ما، هل سيساعد استخدام JRuby؟أي تعليقات مفيدة في تقليل أثر الذاكرة وزيادة الأداء هي موضع ترحيب كبير.

هل كانت مفيدة؟

المحلول

وكنت قد ننظر في Phusion الركاب و <لأ href = "HTTP: //www.rubyenterpriseedition. كوم / "يختلط =" نوفولو noreferrer "> روبي الطبعة المؤسسة ، الذي هو في الواقع الإعداد القياسي لالقضبان تطبيقات هذه الأيام. واحد من أهدافها يخفض استخدام الذاكرة. كما انها أبسط من وجود حفنة من النغول.

نصائح أخرى

إذا لم ترتبط لك اباتشي لشيء آخر، وأود أن نحاول أيضا إنجن إكس مع Phusion الركاب. إذا كنت قلقا بشأن استخدام الذاكرة، يجب أن نرى بصمة أصغر من إنجن إكس من اباتشي، وسوف أحدث إصدار من الركاب تحميل، تجميع وتركيب إنجن إكس لك مع الحد الأدنى من الصداع.

لن أذهب إلى أبعد من ذلك لأقول إن الراكب هو المعيار الفعلي، لكنه يكتسب الكثير من الاهتمام.لقد تحولنا للتو إلى Nginx+Passenger، وتطبيقنا Ruby (أي.المغول مقابل.Passenger) انخفضت مساحة الذاكرة من حوالي 450 ميجابايت إلى 295 ميجابايت.يمكن أن تنخفض بشكل أقل، حيث سيقتل Passenger procs إذا كانوا في وضع الخمول (وهذا قابل للتكوين)، ولكن بالطبع إذا كنت تحصل على حركة المرور وتستخدم جميع المثيلات التي قمت بتكوينها عليها، فسوف تستخدم الذاكرة وفقًا لذلك .

لاحظ أننا لا نستخدم Ruby Enterprise Edition في التكوين الخاص بنا حتى الآن (لأنه غير متوفر بعد في Engine Yard)، ولكننا ما زلنا نرى مساحة أصغر للذاكرة.كانت الذاكرة هي السبب الأول وراء قيامنا بالتبديل، ولكن هناك فوائد أخرى، مثل التكوين الأسرع والأسهل للتوسيع أو التخفيض، وما إلى ذلك.

scroll top