أواجه مشكلة مستمرة في تشغيل تطبيق الويب Tomcat java في حاوية عامل إرساء (والتي أشير إليها على أنها "مهمة" في هذا المنشور) مستضافة في ECS (خدمة حاوية مرنة) على AWS.
نلاحظ أن المهمة ترتفع إلى 97٪ من استخدام وحدة المعالجة المركزية (باستخدام مقاييس AWS) وبينما تتراجع أحيانًا إلى استخدام أقل لوحدة المعالجة المركزية من تلقاء نفسها ، فإن المهمة عمومًا تتوقف عن العمل.
لحسن الحظ ، تُنشئ ECS مهمة عامل إرساء جديدة وتبدأ تشغيل التطبيق مرة أخرى (على الرغم من أن الأمر يستغرق من 5 إلى 10 دقائق حتى يعود كل شيء إلى الإنترنت ، وهو وقت ضخم خلال يوم الإنتاج لدينا!)

ليس لدينا أي حد أعلى لمهمة ECS التي تم تكوينها (ربما ينبغي علينا ذلك؟) - في مشروع سابق قمنا بزيادة وحدة المعالجة المركزية على مضيف ECS من 8 vCPU إلى 32 vCPU وتأكد من أن مهمة عامل الإرساء هذه قد ارتفعت إلى 97 ٪ من وحدة المعالجة المركزية المضيفة ECS باستمرار طوال المشروع.

قمنا هذا الأسبوع بزيادة وحدة المعالجة المركزية من 8 vCPU إلى 16 vCPU (وذاكرة 64 جيجابايت).
ونرى نفس الشيء. لقد قمت بزيادة حد الذاكرة الناعمة للمهمة إلى 4 جيجا بايت (تم ضبطه في الأصل على 2 جيجا بايت) ويمكنني رؤية ارتفاع استخدام الذاكرة ولكن بالتأكيد لا يتجاوز 6 جيجا بايت.

بالذهاب من خلال تتبع المكدس ، (وهو أطول من أن يتم نشره) ، لا يوجد خطأ ذاكرة Outof يتم تسجيله بواسطة تطبيق tomcat / java.
يبدأ عادةً بخطأ JDBC (الحد الأقصى من الاتصالات / استنفاد التجمع) ، ثم يتم إلغاء تسجيل الأشياء ، وإغلاق نظام التسجيل ، وما إلى ذلك.

هل يقوم مضيف ECS بإغلاق المهمة ، أم أن المهمة تغلق نفسها بعد الوصول إلى قيود وحدة المعالجة المركزية / الذاكرة (تقوم java / tomcat بإغلاق نفسها)؟ علاوة على ذلك ، في سجل وكيل ECS الخاص بنا ، يمكنني رؤية بيان حول "خروج 143" - هل إنهاء المهمة هذا من ECS أم أن الحاوية نفسها تخرج؟ هل سيكون من الأفضل تعيين حد أعلى لوحدة المعالجة المركزية للمهمة (فيما يتعلق بذاكرة JVM ، باستخدام كل ما هو متاح لها)؟

no answer