يمكن لخادمين لهما العدد نفسه من أنوية المعالج أن يحققا إنتاجية مختلفة جداً، لأن الرقم المهم هو عدد الأنوية التي يستطيع مسار البيانات النشط استخدامها فعلاً۔ إن برنامج خدمة واحداً يعمل في مساحة المستخدم ويعالج حزم عميل واحد محدود بنواة واحدة، بينما يستطيع مسار نواة مع تفريغ أن يوزع هذا العمل۔ لا تخبرك أي من العبارتين بما ستفعله آلة معينة بحركة المرور لديك، ولهذا تأتي القياسات قبل عدّ الأنوية۔

المقارنة أدناه تدور حول مكان معالجة الحزم، وليس حول أي منتج أسرع بصورة مجردة۔ هذان سؤالان مختلفان لهما إجابتان مختلفتان۔

نواة واحدة لكل تدفق على مسار مساحة المستخدم

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

تشغيل عدة نُسخ خادم على مضيف واحد يوزع العملاء المنفصلين على عمليات مختلفة۔ لكنه لا يوازي اتصالاً قائماً واحداً، ويكلف مجموعات ومستمعين وقرارات توجيه مستقلة۔

المسار الآخر: الحزم داخل النواة

تفريغ قناة البيانات ينقل معالجة الحزم المدعومة والتشفير إلى النواة، حيث يمكن للعمل أن يستخدم عدة أنوية۔ يغيّر ذلك سؤال السعة من نواة واحدة إلى الآلة كلها، لكن فقط للتكوينات التي يدعمها التنفيذ: وحدة نواة متوافقة، وشيفرة بيانات مؤهلة، وتكوين خالٍ من الميزات التي يستبعدها التفريغ۔ تركيب وحدة ليس كاستخدامها، لذلك تحقق من الوضع النشط من سجل الاتصال نفسه أو من مخرجات الحالة۔ لافتة الإصدار تثبت ما هو متاح، لا ما هو قيد التشغيل۔

التفريغ لا يزيل المصادقة ولا قناة التحكم، ولا يحوّل كل نشر إلى نشر متعدد الأنوية۔ إنه تسريع محلي لمسار بيانات متوافق، والمتطلبات تختلف حسب المنصة والإصدار۔

ما تقرره المقارنة فعلاً

الخيار الحقيقي هو بين قبول سقف لكل تدفق، وتوزيع العملاء على نُسخ متعددة، والانتقال إلى تكوين تفريغ مدعوم۔ كل خيار يعالج مشكلة مختلفة، واختيار الخيار الخاطئ يكلف مالاً دون تحريك الرقم۔ الاختبار الذي يهم هو الذي يشبه طريقة استخدام الخدمة۔

قِس ثلاثة أشكال: عميل واحد بنقل واحد، وعميل واحد بعدة تدفقات، وعدة عملاء معاً۔ لا يثبت المجموع المرتفع في الشكل الثالث أن تنزيلاً واحداً يستطيع بلوغه، ولا يثبت النقل الفردي البطيء أن الخادم نفدت سعته الكلية۔ الإجابتان تخصان سؤالين مختلفين وكلتاهما تستحق القياس۔

الشكل الأوسط وحده يخبرك هل يساعد التزامن داخل عميل واحد، وهو عادة خاصية بالنقل والمسار لا بالخادم۔ الشكل الأول وحده يخبرك بالسقف الذي ستراه تطبيق واحد۔ أبقِ الحمل متماثلاً بين الجولات كي تكون للمقارنة دلالة۔

القياس كي يكون للرقم معنى

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

ثم اترك هامشاً لقناة التحكم، ولإعادة التفاوض، ولكل ما يعمل على المضيف من غيرهما۔

أبلغ بما حافظ عليه التكوين تحت التزامن المقصود، بدلاً من معدل مستنبط من عتاد شخص آخر۔ رقم مصحوب بشروط اختباره مفيد؛ ووعد بدونها تخمين سيُقتبس عليك لاحقاً۔

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