0Pricing
Ansible Academy · บทเรียน

forks และการปรับจูนการทำงานแบบขนาน

ปรับจำนวนโฮสต์ที่ทำงานพร้อมกัน

forks และการปรับจูนการทำงานแบบขนาน เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

ทำทีละเครื่องนั้นช้า

ตามค่าเริ่มต้น Ansible จะดำเนินการกับโฮสต์เพียงไม่กี่เครื่องพร้อมกัน เมื่อมีเซิร์ฟเวอร์หลายร้อยเครื่อง ความเร็วแบบเรียงลำดับนี้จะเปลี่ยนเพลย์ที่ควรเสร็จเร็วให้กลายเป็นการรอคอยที่ยาวนาน ⏳

พบการตั้งค่าการทำงานขนาน

ค่า การทำงานขนาน กำหนดจำนวนโฮสต์ที่ Ansible จัดการพร้อมกันสำหรับแต่ละงาน ยิ่งมีจำนวนมาก ก็ยิ่งมีเครื่องทำงานในช่วงเวลาเดียวกันมากขึ้น

ค่าเริ่มต้นมีเพียง 5

ในค่าเริ่มต้น การทำงานขนาน มีค่าเพียง 5 เมื่อมีโฮสต์ 200 เครื่อง Ansible จะประมวลผลเป็น 40 รอบ โดยแต่ละชุดจะมี 5 เครื่องและต้องเสร็จก่อนจึงเริ่มชุดถัดไป

เพิ่มค่าใน ansible.cfg

กำหนดค่าเริ่มต้นที่สูงขึ้นใน ansible.cfg เพื่อให้การทำงานทุกครั้งใช้ค่านี้ นี่คือจุดที่เหมาะสมที่สุดสำหรับปรับการทำงานพร้อมกันของโครงการ

[defaults]
forks = 50

แทนที่ค่าบนบรรทัดคำสั่ง

ใช้แฟล็ก --forks (หรือ -f) สำหรับการทำงานเฉพาะครั้ง แฟล็กนี้จะแทนที่ค่าจากการตั้งค่าโดยไม่ต้องแก้ไขไฟล์ใด ๆ

ansible-playbook site.yml --forks 50

งานดำเนินไปพร้อมกันเป็นขั้น

การทำงานขนานจะทำให้งานเดียวทำงานกับโฮสต์หลายเครื่องพร้อมกัน แต่ Ansible ยังคงรอให้โฮสต์ ทั้งหมด ทำงานเสร็จก่อนเริ่มงานถัดไป

โหนดควบคุมเป็นผู้รับภาระ

การทำงานขนานแต่ละชุดคือกระบวนการหนึ่งบน โหนดควบคุม การทำงานหลายร้อยชุดจะใช้ CPU หน่วยความจำ และการเชื่อมต่อ SSH ที่เปิดอยู่จำนวนมาก ดังนั้นตัวเครื่องเองจึงเป็นข้อจำกัด

ค้นหาค่าที่เหมาะสมที่สุด

ไม่มีตัวเลขที่สมบูรณ์แบบ ให้ ทดสอบประสิทธิภาพ ค่าสองสามค่า เช่น 25, 50 และ 100 แล้วเลือกค่าที่ทำงานเร็วที่สุดโดยไม่ทำให้โหนดควบคุมทำงานหนักเกินไป

ระวังโฮสต์ที่ช้าที่สุด

แม้จะมีการทำงานขนานสูง งานจะเดินหน้าต่อได้ก็ต่อเมื่อโฮสต์ที่ ช้าที่สุด ในชุดตอบกลับ โฮสต์ที่ล่าช้าเพียงเครื่องเดียวอาจทำให้ทั้งรอบหยุดชะงัก

การทำงานขนานกำหนดเพดานของกลยุทธ์

การทำงานขนานกำหนดเพดานของการทำงานพร้อมกัน จากนั้นปลั๊กอิน กลยุทธ์ จะกำหนดว่าโฮสต์เคลื่อนผ่านกลุ่มนั้นอย่างไร ดังนั้นการตั้งค่าทั้งสองจึงทำงานร่วมกัน

จับตาพายุการเชื่อมต่อ SSH

จำนวนการทำงานขนานที่สูงจะเปิดเซสชัน SSH หลายรายการพร้อมกัน ให้ใช้จำนวนการทำงานขนานสูงร่วมกับการส่งโมดูลโดยตรงและการนำการเชื่อมต่อกลับมาใช้ใหม่ เพื่อลดภาระส่วนเกินนี้

ตรวจสอบอย่างรวดเร็ว

เพลย์ของคุณทำงานช้ามากกับโฮสต์ 300 เครื่อง และคุณต้องการให้เร็วขึ้น

สรุปทบทวน

เพิ่มค่า การทำงานขนาน ใน ansible.cfg หรือใช้ --forks เพื่อให้โฮสต์ทำงานพร้อมกันมากขึ้น ค่าเริ่มต้น 5 นั้นต่ำ แต่โหนดควบคุมของคุณเป็นผู้กำหนดเพดานที่แท้จริง 🚀

คำถามที่พบบ่อย

บทเรียน “forks และการปรับจูนการทำงานแบบขนาน” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “forks และการปรับจูนการทำงานแบบขนาน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ansible Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “forks และการปรับจูนการทำงานแบบขนาน”

ปรับจำนวนโฮสต์ที่ทำงานพร้อมกัน คุณปฏิบัติ Ansible Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ansible Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “forks และการปรับจูนการทำงานแบบขนาน” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม

ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. forks และการปรับจูนการทำงานแบบขนาน
  2. กลยุทธ์: linear, free และ host_pinned
  3. การทำ Pipeline ผ่าน SSH และการใช้การเชื่อมต่อซ้ำ
  4. serial และการทำงานเป็นชุดแบบทยอย
← กลับไปที่ Ansible Academy