دراسة حالة
كيف عزلنا توقفات الاتصال متعددة الثواني
صفحة دراسة حالة لتوقف نادر في اتصال كاميرا صناعية، منظمة على شكل أعراض، قيود، ملاحظة، تضييق، وتحسين.
نظرة عامة على الحالة
تغطي هذه الحالة مشكلة في التحكم بكاميرا صناعية حيث كان الاتصال يعمل عادةً، لكنه كان يتوقف أحيانًا لعدة ثوانٍ. كان المفتاح هو الفصل بين ما يبدو فقط كتجمد للتطبيق وما يحدث فعلاً على مسار الاتصال.
الأعراض
- توقف الاتصال لعدة ثوانٍ بتردد منخفض
- لم تبدو واجهة المستخدم والعملية متجمدة بالكامل
- حتى تأخير لبضع ثوانٍ كان له تأثير تشغيلي حقيقي
القيود
- كانت المشكلة نادرة جدًا بحيث لا يمكن للسجلات العادية تفسيرها
- يمكن أن يكون السبب على نحو معقول في التطبيق أو SDK أو NIC أو مسار الشبكة
- كان يجب القيام بالتضييق دون كسر الإعداد الشبيه بالإنتاج بشكل عابر
ما لاحظناه
- تم فحص إشارات التأخير والاستثناءات من جانب التطبيق أولاً
- أظهر التقاط الحزم سلوك إعادة الإرسال وفجوات انتظار مرئية
- تمت مقارنة تفاوض خيارات TCP وشكل وقت الانتظار مع الأعراض
كيف ضيقنا النطاق
تم اختبار توقف الاتصال على أنه انتظار إعادة إرسال TCP بعد فقدان حزمة، وليس على أنه deadlock في التطبيق. أتاح لنا ذلك فصل التوقف المرئي عن وقت تشغيل التطبيق ومعالجة المشكلة الأساسية باعتبارها انتظارًا من جانب النقل.
كيف حسّنّاه
- وضّحنا متى تكون طوابع الوقت من نوع RFC1323 ذات صلة جوهرية
- قللنا الانتظار المرئي عن طريق ضبط الجانب الذي أثّر فعليًا على توقيت إعادة الإرسال
- حافظنا على قابلية إعادة استخدام التحقيق من خلال توثيق نقاط الملاحظة وترتيب التضييق
الخدمات التي ترتبط بها هذه الحالة
ترتبط هذه الحالة بكلٍّ من التحقيق في الأخطاء وتحليل السبب الجذري لعزل توقّفات التواصل التي يصعب إعادة إنتاجها بالأدلّة، وتطوير تطبيقات ويندوز لإعادة النظر في تصميم التواصل والرصد من جانب التطبيق.
مقالات ذات صلة
تواصل معنا
إذا كان ما تتعامل معه قريبًا من محتوى هذه الصفحة، يُرجى التواصل معنا مع شرح الوضع الحالي ونوع الدعم الذي تحتاجه.