سؤال

وأنا على التوالي التطبيق القضبان من خلال Phusion الركاب (mod_rails) التي ستعمل بسلاسة لفترة من الوقت، ثم فجأة بطيئة الى الزحف (واحد أو طلبين في الساعة) وتصبح لا تستجيب. استخدام وحدة المعالجة المركزية منخفض طوال هذه المحنة، على الرغم من أنني لست متأكدا من الذاكرة.

لا أحد يعرف أين أنا يجب أن تبدأ لتشخيص / علاج هذه المشكلة؟

تحديث: إعادة تشغيل التطبيق بين الحين والآخر لا يحل المشكلة، على الرغم من أنا أبحث عن حل أكثر على المدى الطويل. استخدام الذاكرة يزيد تدريجيا (في البداية ~ 30MB في المثال، يصبح 40MB بعد ساعة، ويحصل على 60 أو 70MB في الوقت الذي تعطل).

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

المحلول

جديد بقايا يمكن أن تظهر لك الجمع بين استخدام الذاكرة. توصي محرك يارد أدوات مثل حامل :: علة، MemoryLogic أو Oink. وهنا على شيئا من هذا القبيل التي قد تجدها مفيدة.

نصائح أخرى

إذا إعادة تشغيل التطبيق يعالج المشكلة، والنظر في استخدام الموارد من شأنه أن يكون مكانا جيدا للبدء.

ويبدو وكأنه لديك تسرب للذاكرة من نوع ما. إذا كنت ترغب في البلاستر المشكلة التي يمكن محاولة وضع PassengerMaxRequests إلى شيء أقل قليلا حتى يتم معرفة ما يجري.

http://www.modrails.com/documentation/Users ٪ 20guide٪ 20Apache.html # PassengerMaxRequests

وهذا سيتم إعادة تشغيل مثيلات، بشكل فردي، وذلك بعد عمل عدد معين من الطلبات. قد تضطر إلى عزف معها لإيجاد بقعة الحلو حيث يتم إعادة تشغيل تلقائيا قبل أن حبس.

ونصائح أخرى هي: -Go من خلال هاتفك المحمول / الأحجار الكريمة والتأكد من أنها تصل حتى الآن -Check لاتخاذ إجراءات وطلبات الثقيلة حيث هناك الكثير من استهلاك الذاكرة (NewRelic كبيرة لهذا) -قد ترغب في النظر في التحول إلى العناصر الأرضية النادرة كما فعلت جمع القمامة أفضل

وأخيرا، قد ترغب في تعيين وظيفة كرون الذي يبحث في قيد التشغيل حاليا الحالات الركاب ويقتل منهم إذا كانوا فوق عتبة ذاكرة معينة. سوف الركاب التعامل مع إعادة تشغيل لهم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top