
Tailscale تكشف خطة لتسريع شبكتها: multi-queue وتخزين netmap المؤقت
نشرت Tailscale نظرة على عملها لتسريع شبكتها: معالجة الحزم على عقد التوجيه، واستهلاك أقل للذاكرة مع الحزم الصغيرة، وتخزين netmap مؤقتاً لبدء أسرع على الشبكات الضعيفة.
نشرت Tailscale نظرة على عملها لتسريع شبكتها: معالجة الحزم على عقد التوجيه، واستهلاك الذاكرة مع الحزم الصغيرة، وسرعة البدء عندما يصعب الوصول إلى control plane.
ويأتي العمل استمراراً لمكاسب سابقة: إنتاجية TCP على Linux وتجاوز wireguard-go حاجز 10 Gb/s.
حزم صغيرة واستهلاك أقل للذاكرة
معظم الحزم صغيرة — نحو 1 KiB — لكن Tailscale تقرأ على شكل مقاطع بحجم 64 KiB. ولأن wireguard-go وفّر مخزناً واحداً بحجم 64 KiB، كانت كل حزمة صغيرة تُنسخ إلى مخزن كامل خاص بها. على Linux وAndroid بات العميل يترك الحزم في أماكنها ويحدد بداية كل منها ونهايتها داخل القراءة الكبيرة — فتتشارك حزم كثيرة تخصيصاً واحداً، ما أعطى تسريعاً بنحو 5% في إعدادات كثيرة. كما أتاحت الطوابير المقصّرة ذاكرة لموجهات الشبكات الفرعية وموصلات التطبيقات.
معالجة multi-queue ونسخ أقل
كانت موجهات الشبكات الفرعية وموصلات التطبيقات وعقد الخروج تعالج كل التدفقات في خط واحد مرتب. وقد أفسحت الذاكرة المحرَّرة المجال لنظام multi-queue: مسارات عدة بحجم يتناسب مع موارد الجهاز؛ يبقى كل تدفق في مساره وتعمل المسارات بالتوازي على أنوية المعالج. والنتيجة سعة إجمالية أعلى وتأخير أقصر — مكسب ملحوظ بشكل خاص لدى موصلات التطبيقات وعقد الخروج التي تخدم اتصالات قصيرة العمر كثيرة.
وقال أليكس فالليوشكو من Tailscale: «هذا يعني زمن استجابة أقل، أي معالجة أسرع للبيانات من لحظة قراءتها من الشبكة إلى لحظة تسليمها لنظام التشغيل».
ويستفيد تغيير منفصل من قدرة writev في Linux لتسليم أجزاء عدة من بيانات الحزم إلى النواة بعملية واحدة بدل نسخها ودمجها أولاً — نسخ أقل، كتابة أقل، إنتاجية أعلى.
تخزين netmap مؤقتاً لبدء أسرع
الجهاز المنضم إلى tailnet يتصل أولاً بـ control plane ويستلم خريطة الشبكة — نحو 100 مللي ثانية على شبكة نموذجية. وعلى شبكة Wi-Fi سيئة في فندق أو طائرة قد يكون الاتصال بطيئاً أو متعذراً. يحتفظ تخزين netmap المؤقت بنسخة من الخريطة على القرص، فيمكن للعميل إنشاء اتصالات مباشرة فوراً؛ وتقول Tailscale إن الشبكات التي يصعب الوصول فيها إلى control plane بدأت الإرسال من ذاكرة «ساخنة» أسرع بمرتبة إلى مرتبتين من البدء البارد.
موعد الإطلاق وأدوات اختبار
يُتوقع تقليل الذاكرة على Linux وAndroid في عميل v1.104، أما multi-queue للموجهات والموصلات فمخطط لإصدار لاحق. تخزين netmap المؤقت متاح خلف feature flag ويُتوقع تفعيله افتراضياً في v1.104. وتدرس Tailscale أيضاً مجموعة أدوات مراقبة واختبار خاصة بها، لأن الأدوات العامة لا تُظهر إن كان الاتصال مباشراً أم عبر DERP.
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.