تحتاج شكاوى VPN في الوقت الحقيقي إلى موعد نهائي تُقاس عليه، و«زمن الوصول المنخفض» ليس موعدًا كهذا. حدِّد ما يجب أن يقدّمه الاتصال أو الجلسة البعيدة، ثم قِس المسار مقابل ذلك الشرط في ظروف معلنة. فبدون حدٍّ للحزم المتأخرة، تظل كل نتيجة قابلة للجدل. والتوزيع أدناه قرار تصميمي، ووجوده ليجد القياس شيئًا يجيب عليه.

اكتب الموعد النهائي قبل أن تلمس أي مجسّ

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

ثم وزِّعه. يستهلك الالتقاط والتقسيم إلى حزم جزءًا من الميزانية، ويستهلك رابط الوصول والنفق جزءًا آخر، ويحتفظ مخزن إزالة التذبذب لدى المتلقي بالحزم عمدًا، ويأخذ معالجة التطبيق الباقي. وتسمية تلك المراحل تُبقي تشفير النفق في حجمه الصحيح بدلًا من جعله المشتبه الافتراضي في كل حزمة بطيئة.

وأخيرًا عرِّف عقد القياس في أربعة أسطر: نقاط النهاية والاتجاه، وشكل الحركة، والظروف أثناء التشغيل، والنتيجة التي ستبلغ عنها. فعينة أحد هادئ وعينة ثلاثاء محمَّل تجيبان عن سؤالين مختلفين، لذا بيِّن أيتهما جمعت. وإذا لم تستطع ملء الأسطر الأربعة كلها، فالتشغيل غير جاهز للبدء. وتلك القائمة هي أيضًا ما يجعل تقريرين قابلين للمقارنة بعد أشهر، حين لا يتذكر أحد ماذا كان الرابط يحمل أيضًا.

وزِّع الميزانية على كل مرحلة

الجدول أداة تخطيط، لا بيانات مُلتقطة. املأ المالك لكل صف قبل أول مجسّ، لأن المالك هو من تتصل به عندما تتجاوز تلك المرحلة نصيبها.

StageWhat it contributesWho owns it
Capture and packetizationEncoder frame size, aggregationApplication owner
Tunnel and transitEncryption, queueing, path lengthNetwork owner
Receiver bufferDeliberate waiting to absorb variationApplication owner
Application processingDecode and render timeApplication owner

صفّان يفاجئان الناس عادةً. فمخزن المتلقي ليس عيبًا عندما يضيف تأخيرًا، لأنه يؤدي العمل الذي ضُبط من أجله. ونصيب النفق غالبًا أصغر من الطابور أمامه، خصوصًا على رابط رفع يتشبع أثناء عمليات الرفع.

حين لا يكون لمرحلة مالك، تكون الميزانية خيالًا. عيِّن واحدًا قبل أن تقيس، وإلا فستقضي الاجتماع التالي في الجدال حول أي رقم هو الخطأ.

قِس تأخير الاتجاه الواحد بساعة صادقة

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

التقط بضع مئات من الحزم بدلًا من حفنة، وسجِّل حالة الساعة في الوقت نفسه:

$ ntpq -p
$ owping -c 300 -i 0.2 10.90.0.1
$ ping -c 200 -i 0.2 10.90.0.1 | tail -n 3

زمن الذهاب والإياب قياس منفصل، وليس قيمتين للاتجاه الواحد تُجمعان معًا. فتنصيف زمن الذهاب والإياب يفترض مسارات متناظرة وطوابير متناظرة، والنفق عبر رابط رفع محمول يخرق هذين الافتراضين بانتظام. أبلغ عن زمن الذهاب والإياب كما هو وأبعده عن ميزانية الاتجاه الواحد.

أبلغ عن الذيل والحزم المتأخرة

لخِّص التوزيع: الوسيط والمئين 95 والمئين 99 وأسوأ حالة والفقد وعدد الحزم التي وصلت متأخرة عن الموعد النهائي. والمتوسط أقل تلك الأرقام فائدةً لعبء عمل في الوقت الحقيقي، لأن متوسطًا سلسًا قد يخفي ذيلًا يفسد كل مكالمة ثالثة.

يغذي تباين التأخير التخزين المؤقت لدى المتلقي مباشرةً. فالتخزين المؤقت الأكبر يخفي التباين ويضيف انتظارًا، لذا قد يبدو البث مستقرًا وهو يتجاوز موعده النهائي. اختر صيغة للتباين، وبيِّن الفترة التي قِست خلالها، وأبقِها متسقة بين التشغيلات.

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

اقبل التصميم عندما يتسع الذيل المقيس للميزانية في ظل عبء العمل الذي تشغله فعلًا، وارفضه مع تسمية المرحلة التي تجاوزت الحد في التقرير.

مقالات ذات صلة