ارتفاع زمن استجابة DPC لا يعني أن مسار VPN بطيئ
يُلام زمن برنامج التشغيل وذهاب وإياب الصدى وأحداث الجلسة بعضها على بعض. اقرأ ما يقيسه كل عدّاد قبل أن تغيّر أي مكوّن.
يقع خلل صوتي وتوقف مؤقت لـ VPN في العشر ثوانٍ نفسها، فتُبلغ أداة مساعدة عن رقم مرتفع مُعلَّم بزمن استجابة DPC. الإغراء أن نستنتج أن برنامج التشغيل يبطئ النفق، أو أن النفق يُجهد برنامج التشغيل. لا ينتج أي من الاستنتاجين عن ذلك الرقم.
ثلاثة قياسات حاضرة هنا، وهي لا تتشارك حدًّا واحدًا.
ثلاثة أرقام وثلاثة حدود
استدعاء الإجراء المؤجَّل هو عمل يؤجّله برنامج التشغيل من معالج المقاطعة لديه، والزمن المستغرق داخل تلك الروتينات قياس محلي للمعالج يُنسب إلى وحدات ودوال. وذهاب وإياب الصدى ملاحظة توقيت عند المقبس، ينتجها مكدّس شبكة ومستجيب بعيد. وحدث الانقطاع انتقال حالة يسجّله العميل. كل واحد منها يجيب عن سؤال لا تستطيع البقية الإجابة عنه، وتطابق الوحدات لا يجعلها قابلة للتبادل.
الانضباط المفيد هو تسمية الحد قبل قراءة القيمة. اكتب الوحدة والحد جنبًا إلى جنب. وإذا أبلغت أداة عن ملِّي ثانية، فاسأل: ملِّي ثانية من ماذا: زمن داخل روتين، أم زمن انتظار للتنفيذ، أم زمن حتى وصول الرد.
الرقم المرتفع في فئة واحدة خيط يقودك، وليس تشخيصًا أبدًا.
اقرأ التعريف خلف العنوان
تختلف الأدوات المساعدة فيما تسميه زمن الاستجابة. بعضها يبلغ عن مدة روتينات برنامج التشغيل، وبعضها الآخر يبلغ عن تأخر الجدولة، ويمكن أن يتحرك المقداران في اتجاهين متعاكسين على الجهاز نفسه. ولوحة معلومات تسمّي أحدهما ببساطة زمن استجابة DPC قد أخبرتك بأقل مما يبدو. لذلك يمكن أن تختلف لوحتا معلومات حول جهاز لم يتغير إطلاقًا.
ينطبق التحذير نفسه داخل أداة تحليل واحدة. المدة الشاملة تتابع روتينًا من الدخول إلى الخروج، أما المدة الحصرية فتجمّع فقط الأجزاء التي كان ذلك الروتين نفسه ينفّذ فيها. واختيار العمود الخطأ يحوّل المستدعي إلى متّهم.
عمل برنامج التشغيل المحلي وتأخر الشبكة يتفاعلان أيضًا دون أن يندمجا. فالنشاط المفرط المرتبط بالمقاطعات قد يؤخر عملًا حساسًا للوقت على الجهاز، والمسار المزدحم قد يؤخر الحزم، وكلاهما قد يكون صحيحًا خلال توقف مرئي واحد.
ضع كل ملاحظة في نافذة واحدة
لا يكون التتبع مفيدًا إلا إذا قرأت الفترة التي تحتوي على العَرَض. سجّل التتبع وحدث العميل وفشل التطبيق بطوابع زمنية، ثم انظر إلى الثواني نفسها في الثلاثة. فالقيمة العظمى من تتبع يمتد ساعة وانقطاع في وقت لاحق من ذلك الظهر حقيقتان غير مترابطتين.
wpr -start CPU -filemode
wpr -stop vpn-trace.etl
xperf -i vpn-trace.etl -a dpcisr -o dpc.txt
ثم افتح التتبع في أداة التحليل ورتّب حسب المدة داخل تلك النافذة، لا حسب التسجيل كله. يصف إرشادات تحليل المعالج المركزي عرض مدة DPC/ISR الذي ينسب الزمن إلى وحدات ودوال.
تأكد مما حدث للنفق فعلًا بينما أنت هناك. فقدان حركة التطبيق لفترة وجيزة لا يعني أن العميل بدأ تفاوضًا جديدًا، ونجاح مسبار صغير لا يثبت أن كل شيء آخر ظل يعمل.
غيّر المكوّن الذي تشير إليه الأدلة
الوحدة المشغولة مكان للتحقيق، لا حكم نهائي. فقد تؤدي عملًا يسببه مكوّن آخر، أو العبء الذي أنشأته أنت. احتفظ باسم الوحدة والجهاز وإصدار برنامج التشغيل والفترة المرصودة معًا، لأن هذه المجموعة هي ما يمكن للمورّد أن يتصرف بناءً عليه.
تغيير واحد لكل تجربة هو السبيل الوحيد للتعلم من النتيجة. المقارنة السلكية تضيّق النطاق، لكنها تغيّر مسار الراديو ونشاط برنامج التشغيل في الوقت نفسه، فتعامل معها كدليل لا كإثبات.
تعامل مع التتبع بوصفه حساسًا. فقد يحتوي على أسماء عمليات وتفاصيل بيئة، لذلك مكانه قناة الالتقاط المدعومة لا مرفقًا عامًّا. واذكر الملاحظة التي كان التتبع يهدف إلى الإجابة عنها.