تخزن ذاكرة التخزين المؤقت DNS في Cloudflare أكثر من 25 مليار إدخال، وكل بايت مهدر يكلف 250 جيجابايت عبر الشبكة. من خلال خمسة تغييرات متتالية في طريقة تخزين الإدخالات في الذاكرة، خفضوا البصمة لكل إدخال بأكثر من 50%، محررين حوالي 100 تيرابايت من ذاكرة الوصول العشوائي—أي ما يعادل 130 خادمًا من الجيل الثالث عشر. كما حسنت التحسينات الأداء: زاد إنتاجية الإدراج بنسبة 43% وانخفض زمن الاستعلام بنسبة 19%، مما يثبت أن تقليل استخدام الذاكرة يمكن أن يسرع العمليات.
تضمنت التغييرات الرئيسية استبدال أنواع Vec و String بـ Box<[T]> و Box<str>، مما ألغى حقول السعة غير الضرورية والإفراط في تخصيص الكومة. استخدم كل إدخال كاش أصلاً 8 حقول Vec/String، كل منها يحمل 24 بايتًا من الحمل الإضافي؛ وبالتحول إلى الشرائح، تم توفير 64 بايتًا لكل إدخال. تم قياس ذلك عبر معايير مخصصة للمخصصات وتم التحقق منه في الإنتاج، حيث كانت وفورات الذاكرة كبيرة دون التضحية بالسرعة.
توضح المقالة العملية التقنية بالتفصيل، من قياس الأداء مع حركة مرور تمثيلية (56% سجلات A، 25% AAAA، 19% TXT) إلى النشر التدريجي عبر مراكز البيانات. وتؤكد أن الوفورات الصغيرة لكل إدخال تتراكم بشكل هائل على نطاق واسع، وأن التحليل الدقيق يمكن أن يؤدي إلى مكاسب في الذاكرة والأداء معًا.
الكيانات الرئيسية: الشركات: Cloudflare
الأسئلة الشائعة: كيف خفضت Cloudflare استخدام ذاكرة كاش DNS بمقدار 100 تيرابايت؟
استبدلت Cloudflare حقول Vec و String في إدخالات الكاش بـ Box<[T]> و Box<str>، مما ألغى الحمل الزائد للسعة وهدر الكومة، موفرة 64 بايت لكل إدخال، وهو ما يصل إلى ~100 تيرابايت عبر 25 مليار إدخال.
المصدر: Hacker News · لخّصه HeadlinesBriefing