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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- forks และการปรับจูนการทำงานแบบขนาน
- กลยุทธ์: linear, free และ host_pinned
- การทำ Pipeline ผ่าน SSH และการใช้การเชื่อมต่อซ้ำ
- serial และการทำงานเป็นชุดแบบทยอย