ضبط forks والتوازي
وسّع عدد المضيفين الذين يعملون في الوقت نفسه
ضبط forks والتوازي درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.
التنفيذ واحدًا تلو الآخر بطيء
يتعامل Ansible افتراضيًا مع عدد قليل من المضيفين في كل مرة. وعبر مئات الخوادم، تحوّل هذه الوتيرة التسلسلية play سريعًا إلى انتظار طويل. ⏳
التعرّف على إعداد forks
تحدد قيمة forks عدد المضيفين الذين يشغّل عليهم Ansible المهام بالتوازي. وكلما زاد عدد forks، زاد عدد الأجهزة التي تعمل في اللحظة نفسها.
القيمة الافتراضية هي 5 فقط
تبلغ قيمة forks الافتراضية 5 فقط. ومع وجود 200 مضيف، يعالج Ansible المضيفين في 40 دفعة، بحيث تنتهي دفعة من خمسة قبل بدء الدفعة التالية.
رفعها في ansible.cfg
حدّدوا قيمة افتراضية أعلى في ansible.cfg لكي تستخدمها كل عملية تشغيل. وهذا هو المكان الأنسب لضبط التوازي في أحد المشاريع.
[defaults]
forks = 50تجاوزها من سطر الأوامر
استخدموا الخيار --forks (أو -f) لعملية تشغيل واحدة. فهو يتجاوز قيمة الإعداد من دون الحاجة إلى تعديل أي ملف.
ansible-playbook site.yml --forks 50تعمل المهام بالتزامن المرحلي
تجعل forks مهمة واحدة تعمل بالتوازي عبر المضيفين، لكن Ansible يظل ينتظر انتهاء جميع المضيفين من المهمة قبل بدء المهمة التالية.
تتحمل عقدة التحكم التكلفة
كل fork عبارة عن عملية على عقدة التحكم الخاصة بكم. وتستهلك مئات forks وحدة المعالجة والذاكرة واتصالات SSH المفتوحة، ولذلك يصبح الجهاز نفسه هو الحد.
اعثروا على القيمة المثلى
لا توجد قيمة مثالية. أجروا اختبار أداء لعدة قيم مثل 25 و50 و100، ثم اختاروا القيمة التي تعمل بأسرع وقت من دون زيادة الحمل على عقدة التحكم.
انتبهوا إلى أبطأ مضيف
حتى مع عدد كبير من forks، لا تتقدم المهمة إلا عندما يستجيب أبطأ مضيف في الدفعة. ويمكن لمضيف واحد بطيء أن يوقف الدفعة بأكملها.
تحدد forks استراتيجية التنفيذ
تحدد forks الحد الأقصى للتزامن. ثم تقرر إضافة strategy كيفية تحرك المضيفين ضمن مجموعة التنفيذ هذه، ولذلك يعمل الإعدادان معًا.
راقبوا عاصفة SSH
تفتح قيم forks الكبيرة العديد من جلسات SSH في الوقت نفسه. اجمعوا بين عدد كبير من forks وميزة pipelining وإعادة استخدام الاتصالات للحد من هذا الحمل.
تحقق سريع
يتقدم play الخاص بكم ببطء عبر 300 مضيف، وتريدون تسريعه.
مراجعة
ارفعوا قيمة forks في ansible.cfg أو باستخدام --forks لتشغيل عدد أكبر من المضيفين في الوقت نفسه. القيمة الافتراضية 5 منخفضة، لكن عقدة التحكم الخاصة بكم تحدد الحد الفعلي. 🚀
الأسئلة الشائعة
هل درس «ضبط forks والتوازي» مجاني؟
نعم — نص درس «ضبط forks والتوازي» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ansible Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ansible Academy 4 دروس في المجموع.
ماذا ستتعلم في «ضبط forks والتوازي»؟
وسّع عدد المضيفين الذين يعملون في الوقت نفسه تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ansible Academy؟
لا تُشترط خبرة سابقة. Ansible Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «ضبط forks والتوازي»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ansible Academy هذا؟
نعم. كل درس في Ansible Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ضبط forks والتوازي
- الاستراتيجيات: linear وfree وhost_pinned
- تجميع SSH وإعادة استخدام الاتصال
- التنفيذ الدفعي المتدرّج باستخدام serial