นี่คือหนึ่งคำตอบจากช่างเทคนิคใน RedHat แม้ว่าฉันจะเชื่อว่าฮาร์ดแวร์ขององค์กรส่วนใหญ่มีความสามารถ NUMA และเท่าที่ฉันรู้ VMware จะพยายามปรับให้เหมาะสมกับ VMs ของคุณบนโหนด NUMA เดียวกันตราบใดที่การกำหนดค่า CPU ของมันเหมาะสม
นี่เป็นความจริง "เพราะ" ของเซิร์ฟเวอร์ที่ทันสมัย โปรดทราบว่า Multi-CPU / Muli-Core นั้นไม่เหมือนกับ NUMA มีระบบ Multi-CPU / Core จำนวนมากที่ไม่มี NUMA
ก่อนอ่านคำอธิบายของฉันด้านล่างโปรดอ่านเอกสาร IRQ Affinity ด้านบนรวมถึงคำแนะนำต่อไปนี้:
คู่มือการปรับแต่ง RHEL 6
การปรับแต่งประสิทธิภาพ Latency ต่ำสำหรับ RHEL 6
อ่านแล้วทั้งหมดเหรอ? เยี่ยมมากคุณต้องไม่ต้องได้ยินอะไรเพิ่มเติมจากฉัน! ;-) แต่ในกรณีที่คุณใจร้อนนี่คือเหตุผลที่คุณต้องการพวกเขา ...
IRQbalance ป้องกันการร้องขอ IRQ ทั้งหมดจากการสำรองข้อมูลบน CPU เดี่ยว ฉันได้เห็นระบบจำนวนมากที่มี 4 คอร์ซีพียูทำงานช้าเพราะกระบวนการทั้งหมดในซีพียูต่างๆกำลังรอซีพียู 0 เพื่อประมวลผลเครือข่ายหรือจัดเก็บคำขอ IRQ CPU 0 ดูยุ่งมาก CPU อื่น ๆ ทั้งหมดไม่ยุ่ง แต่แอพช้ามาก แอพช้าเพราะพวกเขากำลังรอคำขอ IO จาก CPU 0
IRQbalance พยายามสร้างสมดุลให้กับสิ่งนี้ด้วยวิธีที่ชาญฉลาดโดยใช้ซีพียูทั้งหมดและหากเป็นไปได้จะทำให้การประมวลผล IRQ นั้นใกล้เคียงกับกระบวนการมากที่สุด นี่อาจเป็นแกนเดียวกันแกนกลางบนดายเดียวกันที่แชร์แคชเดียวกันหรือแกนในโซน NUMA เดียวกัน
คุณควรใช้ irqbalance เว้นแต่:
คุณกำลังปักหมุดแอปของคุณ / IRQ ไปยังคอร์เฉพาะด้วยตนเองด้วยเหตุผลที่ดีมาก (เวลาแฝงต่ำ, ความต้องการเรียลไทม์ ฯลฯ )
แขกเสมือน มันไม่สมเหตุสมผลเพราะถ้าคุณตรึงผู้เยี่ยมชมเฉพาะซีพียูและ IRQ และฮาร์ดแวร์ / การจัดเก็บข้อมูลโดยเฉพาะคุณจะไม่เห็นประโยชน์ที่คุณทำกับโลหะเปลือย แต่ KVM โฮสต์ / RHEV ของคุณควรจะใช้ irqbalance และnumadและปรับ
เครื่องมือปรับแต่งที่สำคัญอื่น ๆ ได้แก่ โปรไฟล์ที่ปรับจูนและจำนวน อ่านเกี่ยวกับพวกเขา! ใช้มัน!
Numad คล้ายกับ irqbalance ซึ่งพยายามทำให้แน่ใจว่ากระบวนการและหน่วยความจำอยู่ในเขต numa เดียวกัน ด้วยหลายคอร์เราเห็นการลดความหน่วงที่สำคัญส่งผลให้ประสิทธิภาพที่เชื่อถือได้ราบรื่นขึ้นภายใต้แรงกระทำ
หากคุณมีทักษะขยันหมั่นเพียรและตรวจสอบอย่างสม่ำเสมอหรือมีปริมาณงานที่คาดการณ์ได้มากคุณอาจได้รับประสิทธิภาพที่ดีขึ้นโดยการปักหมุดกระบวนการ / IRQ ไปยัง CPU ด้วยตนเอง แม้ในสถานการณ์เหล่านี้ความไม่สมดุลและตัวเลขก็เข้ามาใกล้มาก แต่ถ้าคุณไม่แน่ใจหรือภาระงานของคุณไม่แน่นอนคุณควรใช้ irqbalance และ numad