اتصالات تكب بين حاويات عامل الميناء مهلة بعد ~ 10000 اتصالات

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

تتكون الاختبارات من حوالي 12000 عناوين ورل ،والحاوية الأولى ينفذ طلب جيت إلى حاوية نجينكس لكل واحد منهم ، والتحقق لمعرفة أنه يعيد التوجيه إلى الموقع المتوقع.

يحدث الغرابة عندما ~10000 من ورل تم التحقق بنجاح-ما تبقى من محاولة الاتصالات إلى حاوية نجينكس يموت مع مهلة القراءة. وبالنظر إلى سجلات نجينكس يكشف أنه يعتقد أن لا شيء خاطئ ؛ فإنه يخدم الردود المتوقعة حتى مهلة القراءة ، وبعد ذلك سيكون هناك 2 إدخالات لأول ورل اختبار فشل ، ولا شيء بعد ذلك. يتوقف اتصال الشبكة عن العمل بعد الآن بعد تلك النقطة.

عندما أعدم docker-compose up على الجهاز المحلي الخاص بي ، تمر الاختبارات ، وكل شيء هو الورود. عندما أحاول تشغيل نفس الأمر مع نفس عامل الميناء-يؤلف.يمل على واحد من وكلاء سي بلدي ، ونحن واجهت المشكلة المذكورة أعلاه - ~10000 نجاحات الاختبار ، ومن ثم قراءة مهلة بين الحاويات.

حتى الآن ، لقد حاولت إعادة تعريف الاختبار بحيث لا تصل جميع الطلبات إنجن إكس في غضون 10 ثانية (على سبيل المثال تأخير 0.05 ثانية بين كل طلب ، أو تأخير 1 ثانية كل 100 طلب ، الخ)... كنت أتوقع أن هذا قد يعطي عامل الميناء الوقت لإعادة تدوير بعض الاتصالات ، ولكن كل ما فعله هو جعل بناء يستغرق وقتا أطول للفشل في نفس النقطة. لقد تأكدت أيضا من أن أحدث إصدار من عامل الميناء يعمل على وكلاء سي (18.09) ، كما رأيت بعض القضايا جيثب تصف ما اعتقدت مشاكل مماثلة لإزالة الألغام ، وتم حلها عن طريق ترقية عامل الميناء إلى الإصدار الحالي - وليس في حالتي ، على ما يبدو.

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

أسئلتي: هل واجه أي شخص آخر هذا النوع من الأشياء من قبل? أين يجب أن ننظر المقبل للعثور على السبب الجذري لهذا?

شكرا مقدما.

حسنا ، لذلك اتضح المشكلة مع عامل الميناء الملحن ، وتحديدا هذه المسألة: https://github.com/docker/compose/issues/6018

كان قادرا على الحصول على حول هذه المسألة من خلال توجيه جميع إخراج سجل نجينكس إلى / ديف / نول بدلا من ستدوت / ستدير