ESXi Server ตามรูปจะเป็น DELL C6145 CPU 4 Sockets 16 Core = 64 Core Memory 1 TByte เมื่อทำการ Run Command ก็จะเห็นดังรูปด้านล่างว่า มี NUMA Node 8 Node ครับ
Run Command ที่ ESXi Server เพื่อดูว่ามี NUMA Node มีอยู่กี่ Node เพื่อใช้งานการออกแบบ VIrtual Machine Command esxcli hardware memory get | grep NUMA เพื่อดูว่า Physiacl Server มี NUMA Node เท่าไรครับ ในกรณีนี้ผมใช้ Server 4 CPU Socket ละ 16 Core Memory 1024 GByte เมื่อ Run Command ก็จะบอกว่า NUMA Node 8 Node ทำให้เรารู้ว่าต่อ 1 NUMA Node จะเท่ากับ 1024 / 8 จะได้ 1 Node เท่ากับ 8 CPU Core และ Memory 128 GByte ดังนั้นในทางปฎิบัติถ้าจะไม่ให้ข้าม NUMA Node ก็ควรให้ Virtual Machine ไม่ควรเกิน 8 vCPU Memory 128 Gbyte นั้นเองครับ ถ้ากรณีต้องใช้เกินก็จะมีทางช่วยให้ Performance ไม่กระทบมากนักนั้นก็เป็นคือเลือกใช้งาน Software ที่ Support NUMA อย่าง Windows 2008, WIndoiws 2012 นั้น Support NUMA ก็จะทำการเรียกใช้งาน Process ต่างๆ ไม่ให้เกิน 1 Node SQL Server ตั้งแต่ 2005 ขึ้นไปก็ Support NUMA ครับ Software ใหม่จะ Support NUMA แล้วโดยจะมีคำว่า NUMA-aware ถ้า Software ตัวไหนมีคำว่า NUMA-aware ก็จะ Support NUMA จะทำให้ช่วยลดปัญหาเรื่องการใช้งานข้าม NUMA Node ได้ครับ Linux Server ก็ Support แล้วครับ
Web นี้อธิบายเรื่อง NUMA ได้ดีมากครับลองเข้าไปอ่านได้เลยครับเห็นภาพเลยว่ามีผลกระทบกับ VIrtual Machine อย่างไร Link NUMA Concept มี Video ให้ดูด้วยเข้าใจง่ายครับ
ผมหวังว่าบทความนี้จะช่วยให้การใช้งาน Virtual Machine ได้อย่างมีประสิทธิภาพมากขึ้นครับ เจอกันในบทความหน้าครับ
ข้อมูลเพิ่มเติมเกี่ยวกับ NUMA
Link : VMware What is NUMA
Link : Understanding Non-uniform Memory Access
Link : How SQL Server Supports NUMA
Link : Optimizing Applications for NUMA
ไม่มีความคิดเห็น:
แสดงความคิดเห็น