انتقل إلى المحتوى

كيف تُؤخذ القياسات

ترجمة صفحة How the measurements are taken. النص الإنجليزي هو المرجع إن اختلفا.

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

طاولة الاختبار

جهازا XGS 3300 وجهاز XGS 136، موجَّهة بعضها إلى بعض، وحاسوب على الجهاز الأوسط بسرعة 10 جيجابت - كما في صفحة طاولة الاختبار (بالإنجليزية)، حيث صُوّرت نافذة كل تشغيل:

الوصلة من إلى الوسط
الحاسوب منفذ 10GBASE-T في الحاسوب F1 في جهاز XGS 3300 الثاني نحاس، 10 Gbit/s
الألياف منفذ الوحدة A1 في جهاز XGS 3300 الثاني F1 في جهاز XGS 3300 الأول ألياف، 10 Gbit/s
وصلة الجيجابت Port8 في جهاز XGS 3300 الثاني Port8 في جهاز XGS 136 نحاس، 1 Gbit/s
ماذا لماذا
نظير بالعتاد في طرفي كل نفق. حتى 2026-10-17 كان الطرف البعيد للنفق المقيس جدار حماية يشفّر ESP بالبرمجيات، فقد يكون الرقم رقمه هو لا رقم الجهاز.
لكل وصلة شبكة /30 خاصة، خارج جسر LAN، بقاعدة سماح ومسار ثابت. فتُوجَّه الحركة عبر الجهاز بدل أن تُحوَّل من جانبه، ولا يشاركها شيء آخر من الشبكة الطريق.
لا خادم اختبار عامًّا طرفًا بعيدًا أبدًا. تلك خوادم أناس آخرين، ترفض ما يبدو إغراقاً؛ وسطر مرفوض ترك مرةً في جدول ثلاثة "تنزيلات" لم تجرِ قط. كل ما هو متوازٍ أو متكرر يذهب إلى طرف بعيد على الطاولة نفسها.

أين يُقرأ الرقم

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

رقم المستقبِل لا المرسِل. يطبع iperf3 الاثنين: المرسِل يعدّ ما كتبه في مقبسه، والمستقبِل يعدّ ما وصل. والثاني وحده هو الإنتاجية.

لا يُقرأ سطر إلا بعد التأكد أنه جرى - بالبايتات المستقبَلة، لا بتحرّك العدّادات وحده.

الأدوات

الأداة ماذا تقيس هنا لماذا هي
iperf3 - الإصدار 3.20 تحت WSL في الحاسوب للإرسال، وiperf3 لويندوز للاستقبال، و3.22 (حزمة OPNsense) خادماً على مضيف الجهاز الإنتاجية، باتصال TCP واحد أو أربعة، عشر ثوانٍ لكل تشغيل الأداة نفسها في طرفي كل تشغيل، مع ذكر إصدارها. وعميلان في الحاسوب لأن الشبكة المنعكسة في WSL تُخرج الإطار الأكبر من 1500 بايت ولا تُدخله: كل تشغيل استقبل فيه الحاسوب فوق 1500 قاس 0.00 bits/s حتى أُعيد قياسه بنسخة ويندوز
curl عبر HTTPS، وSHA-256 اختبارات السلامة الطويلة: ملف من 1 جيبيبايت من بايتات عشوائية يُجلب في حلقات لساعات TLS يرفض أي سجل لا يُصادَق عليه، وبصمة الملف مقابل بصمة الخادم تكشف ما قد يمرّ كاملاً؛ والإنتاجية وحدها لا تقول شيئاً عن صحة البايتات
ping مع بت منع التجزئة، بأحجام محددة هل يعبر إطار بحجم معيّن مساراً ما، وزمن الذهاب والإياب أبسط اختبار لـ MTU المسار ولمنفذ يستقبل أصلاً
sysctl المعالجات (kern.cp_time)، وعدّادات المُشغِّلات نفسها (dev.octep.0.* وdev.npuep.0.*)، وتفريغ ذاكرة TCP للمضيفين (net.inet.tcp.hostcache.purgenow) أرقام النواة نفسها، تُقرأ بالطريقة ذاتها في كل تشغيل
pfctl حالات pf وعدد حزمها وبايتاتها ما رآه جدار حماية المضيف، ليوضع بجانب ما رآه العتاد
إحصاءات المعالج المساعد نفسه، تُقرأ عبر المُشغِّل ما مرّره العتاد: الإطارات الواردة من السلك، والإطارات التي أعادها إلى السلك بنفسه، وعدّه لكل اتصال الشاهد الوحيد على حركة لم يعد المضيف يراها
mvsw سجلات شريحة المحوّل: حدّ الإطار في المنفذ، وعدّادات أخطائه أخطاء وحدود لا يراها إلا المحوّل، تُقرأ من سجلاته هو
shot-run.ps1 يشغّل كل أمر قياس في نافذة طرفية خاصة به ويصوّر تلك النافذة حين ينتهي، بنقاط النافذة نفسها الدليل هو الشاشة كما كانت، لا نصٌّ أُعيدت كتابته بعدها، ولا يدخل الصورة شيء آخر من سطح المكتب
tools/mark-images.py يضع المالك والترخيص (CC BY 4.0) في شريط تحت كل صورة؛ وتُحفظ الصورة الأصلية بلا علامة على حدة الصورة التي تغادر الصفحة تبقى تقول لمن هي
tools/readme-art.py يحسب نسبة إنجاز كل جهاز من جدول صفحة عائلته انظر الحساب أدناه؛ وتفشل الفحوص إن ذكرت الصفحة غيرها

السكربتات التي تُجري كل تشغيل مذكورة في صفحة ذلك التشغيل.

الحساب

الرقم كيف يُحسب لماذا
الإنتاجية، تشغيل واحد بِتّات المستقبِل في الثانية على مدى التشغيل، كما يطبعها iperf3 عدّ المستقبِل هو ما وصل
الإنتاجية، اختبار طويل البايتات المستقبَلة في المرّات الناجحة × 8، مقسومة على الثواني من بداية أول مرّة إلى نهاية آخر مرّة متوسط على ساعات، ولا تُحسب الإخفاقات واصلةً
انشغال المعالجات يُقرأ kern.cp_time قبل التشغيل وبعده؛ والانشغال = (الإجمالي − الخمول) ÷ الإجمالي، من الفروق ما كلّفه التشغيل كله، بينما نظرة إلى top تلتقط لحظة واحدة
نسبة الإطارات في العتاد من الإطارات التي استقبلها المعالج المساعد من السلك خلال التشغيل (RX_WIRE)، نسبةُ ما أعاده إلى السلك بنفسه (FROM_WIRE_TO_WIRE): 6,630,528 من 6,657,897 هي 99.6 % يعدّها العتاد الذي مرّرها، لا يُستنتج من صمت المضيف
عدّاد موثوق يُقابَل بكمية معروفة سلفاً: يرسل الحاسوب 4,000,000,000 بايت بالضبط، ويجب أن يبلغ عدّ المعالج المساعد وعدّ pf معاً ما عبر السلك - وقد بلغاه بفارق 14 حزمة من 2.74 مليون لا يُوثق بعدّاد إلا بعد أن يتفق مع شيء عُدّ مستقلاً؛ وبهذا وُجد عدّادان خاطئان
نتيجة اختبار السلامة المرّات التي فشلت (خروج curl)، والمرّات التي اختلف ملفها (البصمة)، والبايتات لا ينجح الاختبار إلا إن كان الاثنان صفراً
نسبة إنجاز الجهاز لكل سطر في جدول صفحة عائلته نسبة إنجاز ووزن؛ والإنجاز = مجموع (الإنجاز × الوزن) ÷ N، حيث مجموع الأوزان N، والقيمة المشطوبة لا تُحسب نسبة لا يمكن أن تبتعد عمّا تزنه: يحسبها tools/readme-art.py، وتفشل الفحوص إن ذكرت الصفحة أو README غيرها

القواعد التي تلتزمها كل صفحة

القاعدة لماذا
كيف أُخذ الرقم، وما الذي لا يعنيه، في كل صفحة حدود الرقم جزء منه: اتصال ينتهي على مضيف الجهاز نفسه يقيس أصغر ما بين الحاسوب والتمرير والوصلة ومسار استقبال ذلك المضيف - لا سقف التمرير، الذي يحتاج جهازاً خلف الجهاز البعيد
يُذكر إصدار البناء - commit المُشغِّل أو بصمته الرقم ملك للكود الذي أنتجه
تُصوَّر كل نافذة حين ينتهي تشغيلها يرى أي أحد التشغيل نفسه، لا نسخة من أرقامه؛ وتُترك عناوين المختبر في الصور، وتُطمس الأرقام التسلسلية وعناوين العتاد
يُنسى ما تعلّمه المضيف قبل كل تشغيل - ذاكرة TCP للمضيفين، وذاكرة MTU المسار في الحاسوب MTU مسارٍ تُعُلّم في تشغيلٍ حُمل إلى التالي: جرت دورة كاملة بمقاطع من 500 بايت ورُميت
يُكتب ما أخطأ في القياس نفسه الأخطاء - MTU متعلَّم، وإطارات أسقطها WSL - هي سبب قياس الصفحة بطريقتها، والقياس التالي يتجنبها
الرقم المسحوب يُشطب ولا يُحذف، والتصحيح بجانبه يرى القارئ ما تغيّر ولماذا
أرقام المورد تُوسَم بأنها أرقام المورد، بجانب أرقامنا مصدرها Keysight-Ixia BreakingPoint في ظروف مثالية، دون ذكر MTU ولا المنافذ ولا إن كان الاتجاهان يُحسبان: ليست من نوع الأرقام المأخوذة هنا

أين الأرقام

كل قياس، بحسب الجهاز واليوم: القياسات (بالإنجليزية).