يهدف bpftune إلى توفير ضبط تلقائي خفيف الوزن ودائم التشغيل لسلوك النظام.
مؤخرا كشف النقاب عن أوراكل عن طريق نشر نظامك الجديد "bpftune" أيهما مصمم لتحسين تكوين النواة تلقائيًا بناءً على المهام المنجزة ونشاط النظام وأنماط التحميل.
يعمل bpftune في الخلفية ويراقب استخدام النظام ومكدس الشبكة. سبب إنشاء المشروع هو الحاجة إلى تحسين الأنظمة القائمة بذاتها المصممة للعمل مع الحد الأدنى من تدخل المسؤول ، فضلاً عن التعقيد المتزايد للنواة الحديثة ، مما يزيد من عمل التحسينات اليدوية.
وعليه توفر النواة أكثر من 1500 معلمة التي تؤثر على الأداء واستهلاك الموارد ، وغالبًا ما ينسخ المسؤول ببساطة الوصفات الجاهزة ، دون الخوض في جوهرها بالتفصيل على أمل أن يساعدوا).
تقوم Bpftune تلقائيًا وباستمرار بضبط تكوين kernel. تتم مراقبة النظام باستخدام الوظائف المقابلة لمرشح حزم بيركلي (BPF).
تحتوي نواة Linux على أكثر من 1500 معلمة قابلة للضبط ، ويمكن أن يؤدي تعيين هذه المعلمات بشكل صحيح إلى تحسين أداء النظام واستخدامه بشكل كبير! لقد حاولنا لسنوات تقديم التلميحات الصحيحة لهذه المعلمات القابلة للضبط ، من خلال ملاحظات إصدار البرنامج والإعدادات الافتراضية المحسّنة ، لكن العديد من أحمال النظام ستستفيد من الضبط الديناميكي لهذه القيم.
نقدم لكم bpftune ، المُكوِّن التلقائي الذي يراقب أحمال العمل لديك ويضبط قيم معلمات kernel الصحيحة! bpftune هو مشروع مفتوح المصدر متاح في مستودعات Oracle Linux
حول Bpftune
تراقب Bpftune باستمرار حالة النظام ، يضبط بشكل تكيفي معلمات kernel التي تؤثر على الأداء ويقيم السلوك المتغير للحصول على أفضل النتائج. بفضل BPF، لا يتم أخذ الإحصاءات فقط في الاعتبار للنظام بأكمله ، ولكن أيضًا تفاصيل سلوك المكونات الفردية، والذي ، على سبيل المثال ، يسمح لك بضبط الإعدادات على مستوى المقابس والأجهزة الفردية.
تنفيذ تم ترحيل التحسينات الفردية إلى المكونات الإضافية والتي يتم تحميلها أثناء بدء التشغيل في شكل مكتبات. يحتوي كل مكون إضافي يقوم بتنفيذ تحسين معين على برنامج تشغيل BPF يعمل في النواة ومكون يعمل في مساحة المستخدم.
الفوائد الرئيسية التي يوفرها هي:
- المراقبة المستمرة وضبط سلوك النظام من خلال استخدام ميزات المراقبة BPF (Berkeley Packet Filter).
- أصبح ضبط سلوك النظام على مستوى دقيق ممكنًا لأنه يمكننا مراقبة المزيد من التفاصيل عن حالة النظام باستخدام BPF.
تستخدم جميع المكونات الإضافية مخزنًا مؤقتًا عالميًا لحلقات BPF لتمرير أحداث kernel إلى مساحة المستخدم. يمكن تحديد المكونات الإضافية وفقًا لاحتياجات المسؤول ويمكن أيضًا تعطيلها تلقائيًا إذا قام المسؤول يدويًا بتغيير تكوين kernel المرتبط بها.
أثناء عملية الضبط التلقائي ، تحاول bpftune تحقيق التوازن الأمثل بين العرض والاستهلاك للموارد ، مع الأخذ في الاعتبار التأثير غير المباشر للتغييرات. على سبيل المثال ، لزيادة الأداء ، يجب زيادة حجم المخزن المؤقت للشبكة ، لكن زيادته تؤدي إلى زيادة استهلاك الذاكرة وتأخيرات أطول في نقل البيانات ، لذلك يجب مراعاة هذه المعلمات عند زيادة حجم المخزن المؤقت..
تشمل المكونات الإضافية المتاحة للاستخدام:
- bpftune-tcp-cong: التحديد التلقائي لخوارزمية التحكم في ازدحام الشبكة المثلى
- bpftune-neigh: التحديد التلقائي لحجم جدول عناوين MAC للمضيفين المجاورين
- bpftune-route: اختيار حجم جدول التوجيه التلقائي.
- bpftune-sysctl - يراقب إعدادات sysctl ويعطل الموالف المرتبط إذا كان يتعارض مع الإعدادات اليدوية.
- bpftune-tcp-buffer: التحديد التلقائي للأحجام الأولية والحد الأقصى لمخازن TCP المؤقتة
- bpftune-net-buffer: التكوين التلقائي للمخازن المؤقتة للشبكة الأساسية
- bpftune-netns - يتتبع إضافة وإزالة مساحات أسماء الشبكة (صافي مساحة الاسم)
أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها، يجب أن تعلم أن كود المشروع مكتوب بلغة C ويتم توزيعه بموجب ترخيص GPLv2 ويمكنك التحقق من التفاصيل في الرابط التالي.