مدة تشغيل خادم VPN: ما لا يخبرك به هذا الرقم
يقيس العداد الوقت منذ بدء شيء ما، لا إمكانية الوصول من شبكتك. تحقق من التعريف ووقت التقرير، ثم اختبر ما تحتاجه.
قائمة عُقد عامة تعرض خادما بمدة تشغيل تُقاس بالأسابيع، فتختاره، ويفشل الاتصال من المحاولة الأولى. هذا ليس إعلانا كاذبا؛ بل هو السؤال الخاطئ الذي يُطرح على رقم يقيس شيئا آخر. عادة ما تفيد مدة التشغيل بمدة بقاء عملية أو حاوية أو جهاز يعمل منذ آخر بدء له، وذلك خاصية في بنية الناشر التحتية لا في مسارك إليه. والتعامل معها كموثوقية هو الخطأ الفئوي نفسه الذي نرتكبه حين نتعامل مع عداد مسافات السيارة كتقرير عن الطريق.
ما الذي يقيسه الرقم
على مضيف يديره مدير خدمة حديث، يُربط العداد بحدث يمكنك قراءته فعلا: الطابع الزمني الذي دخلت فيه الوحدة الحالة النشطة، أو وقت إقلاع الجهاز. وكل ما عدا ذلك حساب على ذلك المرجع، وتعريف المرجع يختلف بين الناشرين. فقد تُعيد قائمة التصفير عند إعادة تشغيل الخدمة، وأخرى عند إعادة تشغيل الجهاز، وثالثة عند تصفير يدوي يقوم به مشغّل أراد رسما بيانيا نظيفا.
systemctl show -p ActiveEnterTimestamp --value openvpn-server@server
uptime -s
systemctl is-active openvpn-server@server
تلك الأوامر الثلاثة تجيب عن ثلاثة أسئلة مختلفة، وقائمة دليل تعرض رقما واحدا لا تستطيع أن تخبرك أيها استخدمت. لذا فمقارنة عداد خام من قائمتين ليست مقارنة على الإطلاق حتى تعرف على ماذا يعيد كل منهما التصفير.
قد تكون العملية قائمة بينما المسار معطّل
الخدمة تستمع. الشهادة صالحة. العملية ما زالت حية منذ ثلاثة وعشرين يوما. لا شيء من ذلك يضمن أن حزم بياناتك من شبكتك تصل إليها، لأن إمكانية الوصول خاصية للمسار كله: رابط الناشر الصاعد، والتقاء شبكته بشبكتك، والازدحام على رابط عبور مشترك، والجدار الناري أمام اتصالك أنت.
وقد يكون الخادم قائما وعديم الفائدة لسبب آخر. العقدة التي قبلت عملاء أكثر بكثير مما تدعمه سعتها ستعرض مدة تشغيل طويلة وتجربة بائسة، لأن العداد لا يقيس السعة ولا التنازع. وهذه أكثر طريقة تخيب بها عقدة ذات مدة تشغيل طويلة: لا شيء معطل، وكل شيء مشغول.
الحالة المعاكسة تستحق التذكر أيضا. العقدة التي أُعيد تشغيلها قبل ساعة قد تكون سليمة تماما الآن، والفرز حسب أكبر رقم يستبعدها بهدوء. مدة التشغيل ليست درجة جودة، والتعامل معها كأنها كذلك يختار العمر بدل الملاءمة.
الحداثة: التقرير أقدم من محاولتك
الأدلة العامة صفحات تُولّد من فحوص دورية، لا قياسات حية. مدة التشغيل التي تقرأها حُسبت عند آخر تحديث، والاتصال الذي تحاوله يحدث بعده. وفيما بينهما قد يفشل رابط عند الناشر، أو تتغير شهادة، أو ينتقل عنوان، أو تخرج عقدة من الخدمة، وستظل الصفحة تعرض آخر حالة جيدة معروفة حتى الزحف التالي.
هذه الفجوة تعمل في الاتجاه الآخر أيضا. العقدة التي ذُكر أنها معطلة قد تكون تعافت بعد دقائق من توليد التقرير، لذا فإعادة المحاولة فورا على عقدة أخرى ليست دائما الخيار الأفضل.
القاعدة العملية أن كل حقل مذكور هو ادعاء عن الماضي. استخدمه لبناء قائمة قصيرة، ثم تحقق بقياس تأخذه بنفسك في اللحظة التي تهمك.
ما الذي يجب اختباره بدلا من ذلك
قرر ما تحتاجه من العقدة واختبره. إن كنت تحتاج إمكانية الوصول، فمحاولة اتصال TCP بمنفذ الاستماع تخبرك في ثانية واحدة أكثر من أي عداد. وإن كنت تحتاج نفقا عاملا، فتفاوض على واحد. وإن كنت تحتاج إنتاجية قابلة للاستخدام، فانقل شيئا حقيقيا وقسه، لأن زمن الاتصال والإنتاجية خاصيتان مختلفتان ومصافحة سريعة لا تقول شيئا عن الثانية.
nc -vz -w 5 vpn.example.net 1194
curl -sS -o /dev/null -w '%{time_connect} %{time_appconnect} %{time_total}\n' https://vpn.example.net/
mtr -rwc 20 vpn.example.net
أعد الاختبار بدل الوثوق بمحاولة واحدة. الموثوقية توزيع عبر الزمن والظروف، والاتصال الناجح الواحد عينة حجمها واحد. وحفنة من المحاولات على مدار الساعات التي تستخدم فيها الاتصال فعلا ستتفوق على أي مدة تشغيل منشورة بفارق كبير.
قراءة قوائم العُقد العامة دون أن تُضلَّل
لا تحمل مدة التشغيل أي معلومات عن الأشياء التي يريدها الناس عادة من VPN: صلاحية الشهادة، ومن يدير المخرج، وأي سياسة DNS تنطبق، وهل يحتفظ المشغّل بسجلات الاتصال. هذه ادعاءات منفصلة تحتاج أدلة منفصلة، والعداد الطويل ليس دليلا على أي منها. قد تكون العقدة مستقرة لأشهر وتبقى خيارا سيئا لمتطلب خصوصية.
حيث تفيد القائمة حقا هو في تقصير القائمة. رتب حسب ما تعرف أنك تحتاجه، واستبعد العُقد في مناطق لا صلة لها بالمهمة، ثم اختبر الثلاث أو الأربع الباقية. واحتفظ بمرحلة الفشل من كل محاولة بدل نعم أو لا واحدة، لأن «فشل مصافحة TLS» و«اتصل بلا إنتاجية» يقودان إلى استنتاجين مختلفين تماما.
إن إطار قياس أداء المسار يقدم النقطة نفسها بصيغة أكثر صرامة: عرّف المقياس والظروف والطريقة قبل جمع الأرقام. وبتطبيقه على قائمة عُقد، يعني ذلك أن حقل مدة التشغيل سياق. والقياس الذي تأخذه بنفسك هو القرار.