عنوان IP ثابت في GCP مقابل سرعة VPN: ثلاثة متغيّرات واختبار واحد
العنوان المحجوز ليس إعدادًا للسرعة. افصل دورة حياة العنوان وطبقة الشبكة ونقل OpenVPN قبل مقارنة الإنتاجية على Compute Engine.
أصبح النقل أسرع بعد حجز العنوان، فكتب الاستنتاج نفسه. غير أن التغيير نفسه بدّل أيضًا النفق من UDP إلى TCP، ونقل الاختبار إلى مساء آخر، وربما هبط على آلة VM في منطقة أخرى. حجز عنوان خارجي يعالج مشكلة في دورة الحياة: فهو يبقي نقطة النهاية نفسها عبر عمليات إعادة التشغيل. ولا يملك أي آلية من شأنها تسريع الحزم، لذا فإن فرق السرعة في تلك التجربة يعود إلى المتغيرات الأخرى، والقرار المعروض عليك هو أيّها تختبره تاليًا.
ما الذي يشتريه العنوان المحجوز فعلاً
يميّز Compute Engine بين العناوين المؤقتة، التي تُخصص وتُحرر مع النسخة، والعناوين الثابتة التي تحجزها وتحتفظ بها. ذلك الفرق يتعلق بالاستبقاء والفوترة، لا بالمسار الذي تسلكه الحزمة. نقطة النهاية المستقرة مفيدة حقًا لسجلات DNS وملفات الوصول عن بعد وقوائم السماح للشركاء وقواعد الجدار الناري التي لا ينبغي أن تتغير عند إعادة تشغيل الآلة.
تلك أسباب وجيهة لحجز عنوان. وليس أي منها سببًا للإنتاجية.
احتفظ بالطبقة والعنوان والنقل ثلاثة متغيرات
تبيع Google Cloud أيضًا طبقتَي خدمة الشبكة Premium وStandard، وكلتاهما تسلك مسارات مختلفة إلى الإنترنت مع توفّر ميزات مختلف. العنونة الثابتة متعامدة مع كلتيهما، فتعامل الثابت وPremium كوقائع غير مترابطة عن الآلة لا كمرادفات. سجّل الطبقة الفعلية والمنطقة وأي ترابط أو ارتباط قيد الاستخدام، لأنها تصف المسار بطريقة لا يصنعها وسم العنوان أبدًا.
ثلاثة متغيرات، ثلاث تجارب منفصلة، وإلا كانت النتيجة حكاية لا قياسًا.
صمّم اختبارًا يجيب عن سؤال واحد
أبقِ الآلة والعنوان وموقع العميل والوجهة وعبء العمل ثابتة أثناء مقارنة ملفات UDP وTCP المعتمدة. يلزم وجود مستمع للخادم لكل وسيط نقل وقواعد جدار ناري مطابقة؛ وتعديل كلمة مفتاحية في العميل مع ترك المستمع بلا تغيير لا يختبر شيئًا سوى صبرك. استخدم نقلًا قابلًا للتكرار، وسجّل الاتجاه والمدة والتدفقات المفردة مقابل المتوازية والوحدات، لأن MB/s وMb/s يختلفان بمعامل ثمانية.
راقب معالج الآلة أيضًا، لأن نسخة صغيرة تتشبع بعمل التشفير أو softirq قبل الشبكة بكثير، وسيبدو ذلك السقف تمامًا كحدّ من المزوّد.
عدّادات إعادة الإرسال والفقد من الآلة والعميل تفصل مشكلات المسار عن مشكلات النقل، وشريط التقدم لا يستطيع ذلك. تسلسل عملي مع iperf3 يستغرق نحو عشر دقائق لكل وسيط نقل. ابدأ الخادم في الطرف الآخر، وشغّل العميل ثلاثين ثانية في كل اتجاه، وكرّر كل اتجاه ثلاث مرات. استبعد أول تشغيل من كل سلسلة، ثم قارن معدلي المرسل والمستقبل مع عدد إعادة الإرسال الذي تطبعه تشغيلات TCP.
لماذا يختلف UDP وTCP ميكانيكيًا
OpenVPN عبر UDP يحمل مخططات البيانات ويترك لوسيط نقل التطبيق نفسه معالجة الفقد. أما عبر TCP فيجلس تدفق النفق الموثوق تحت تدفق تطبيق موثوق أصلًا، فيوقف مقطع مفقود واحد كل ما خلفه بينما تعيد الاتصال الخارجي الإرسال وفق جدوله الخاص. سلوك الرأس في الطابور هذا خاصية تداخل TCP داخل TCP، لا سياسة مزوّد. كما تختلف معالجة MTU وMSS بين الوضعين، وهو ما يغيّر سلوك التجزئة على المسار نفسه.
لذا فإن تجربة TCP أسرع تثبت أن TCP كان أسرع ذلك اليوم على ذلك المسار، ولا تثبت شيئًا أعم.
اكتب النتيجة بحيث تصمد أمام المراجعة
الاستنتاج القابل للدفاع له صيغة: هذا الملف، على هذا الحجم من الآلة، على هذه الطبقة من الشبكة، حمل عبء العمل المقاس هذا في هذا الاتجاه تحت هذه الظروف. وأي شيء أوسع يحتاج إلى تشغيلات أكثر مما يكفيه مساء واحد. وإذا بقي الحالة الأبطأ بلا تفسير، فاحتفظ بها كملاحظة مع أدلتها من الحزم والموارد بدلًا من اختراع تقييد لا يصفه أي مستند من المزوّد.
استقرار العنوان وسرعة النقل قد يهمّان النشر نفسه، والقرار المفيد هو أيّهما تشتريه مع كل تغيير.