เธรด Hyper และเครื่องเสมือน?


15

ฉันได้อ่านหัวข้อนี้แล้ว: Hyper-V และ Hyper-threading: เปิดหรือปิด? แต่คำตอบเดียวคือ Windows เฉพาะ ....

ฉันกำลังสร้างเซิร์ฟเวอร์ VM (โดยใช้ Proxmox VE หากสร้างความแตกต่าง) และสงสัยว่าการทำไฮเปอร์เธรดจะส่งผลต่อเครื่องเสมือนอย่างไร ...

โดยเฉพาะถ้าฉันใช้จำนวนเครื่องเสมือนให้มากที่สุดจะช่วยให้เกิดเกลียวมากเกินไปหรือทำให้ประสิทธิภาพลดลง?

นอกจากนี้เครื่องเสมือนที่ใหญ่ที่สุดจะเป็น Terminal Server ที่มีไคลเอนต์ ~ 30 (RAM 4 คอร์ / 8 GB) และเป็นไฟล์เซิร์ฟเวอร์ถ้ามี

อัปเดต:เซิร์ฟเวอร์เป็น Dell R410 ที่มี RAM 1TB 10, 32 GB และ Dual Intel Xeon E5530 (ฉันไม่แน่ใจเกี่ยวกับรุ่นที่แน่นอน แต่เป็น E55xx ที่มี 2+ Ghz)

อัปเดต: VMs ส่วนใหญ่จะใช้กับ KVM


โปรดระบุข้อกำหนดของเซิร์ฟเวอร์ที่คุณวางแผนที่จะใช้
ewwhite

ยังอยากรู้อยากเห็น ทำไม Promox VE กับ ESXi
ewwhite

อาจเป็นเพราะ ESXI จำกัด RAM 16 GB ในใบอนุญาตฟรี
Tacticus

3
ฉันเลือก Proxmox มากกว่า ESXi เพราะ Proxmox มีคุณสมบัติพิเศษบางอย่างเช่นการจัดการที่สมบูรณ์จาก web gui, การทำคลัสเตอร์, ข้อกำหนดของเซิร์ฟเวอร์ไม่ได้ถูก จำกัด ด้วยการออกใบอนุญาตและอีกสองสามอย่างที่ฉันจำไม่ได้ นอกจากนี้ 2.0 จะรวมการตรวจสอบความถูกต้องของโฆษณาซึ่งมีประโยชน์มากสำหรับเราไม่แน่ใจว่า ESXi ทำ ...
Soviero

1
คุณเคยดู oVirt ไหม?
dyasny

คำตอบ:


12

โดยทั่วไปฉันปล่อย HyperThreading ONสำหรับโฮสต์เซิร์ฟเวอร์ VM (VMWare ESXi, KVM, HyperV และอื่น ๆ ) สิ่งนี้ใช้กับ Intel Nehalem และ CPU รุ่นใหม่กว่า (5500-series และสูงกว่า) มีเธรดเพิ่มเติมสำหรับกำหนดเวลา VMs หลายรายการ

คุณอาจต้องการประเมินขนาดของระบบแขกของคุณอีกครั้ง โดยปกติแล้วการเริ่มต้นเล็ก ๆ ในการจัดสรร CPU กับเครื่องเสมือนจะเป็นการดีที่สุด เนื่องจากคุณกำลังพูดถึงเซิร์ฟเวอร์เทอร์มินัลฉันจะย้ายไปที่ CPU เสมือน 2 ตัวแทนที่จะเป็น 4 vCPU มันง่ายสำหรับไฮเปอร์ไวเซอร์เพื่อตารางเวลา CPU สำหรับ VMs มีจำนวนหลักที่มีขนาดเล็ก RAM ยังคงสำคัญอยู่ดังนั้นควรตรวจสอบให้แน่ใจก่อนว่ามีจำนวนมาก

ดู: http://omtconcepts.com/wp/?p=14


สองเธรดเร็วกว่าสี่เธรดอย่างไร
Soviero

3
ไม่เร็วกว่า ... กำหนดเวลาได้ง่ายขึ้น ดูการแก้ไขของฉัน เครื่องที่คุณพูดถึงจะมีทั้งหมด 8 คอร์ (16 กับ HyperThreading) การพยายามค้นหาทรัพยากรเพื่อกำหนดเวลาแขก 4-vCPU นั้นยากกว่า 2-vCPU คุณจะมีข้อโต้แย้งเพิ่มเติม (และลดประสิทธิภาพลง) หากคุณวางแผนที่จะเรียกใช้แขกเสมือนอื่น ๆ บนเซิร์ฟเวอร์นี้มันเหมาะสมที่จะใช้แขก 1 และ 2 vCPU
ewwhite

3
จุดของคุณเกี่ยวกับการกำหนดเวลาใช้กับไฮเปอร์ไวเซอร์ที่ทำ "การจัดตารางเวลาแก๊งค์" ซึ่งพวกเขาพยายามเรียกใช้ตัวประมวลผลเสมือน "all or none" ของตัวประมวลผลเสมือนในเวลาเดียวกัน สำหรับไฮเปอร์ไวเซอร์ที่ทำสิ่งนี้การเพิ่มตัวประมวลผลเสมือนมากขึ้นจะทำให้ VM ยากที่จะกำหนดเวลา ฉันเข้าใจว่าเควินอัปเดตคำถามของเขาเพื่อกำหนดว่าเขาต้องการใช้ KVM เป็นส่วนใหญ่ แต่ฉันต้องการที่จะชี้ให้เห็นว่า Hyper-V ไม่ได้กำหนดเวลาแก๊งค์ มันขึ้นอยู่กับระบบเสมือนจริงของ guest OS เพื่อหลีกเลี่ยงความจำเป็นในการจัดตารางเวลาแก๊งค์
Jake Oshins

ฉันไม่รู้เกี่ยวกับ Hyper-V แต่สิ่งนี้ใช้ได้กับไฮเปอร์ไวเซอร์หลักอื่น ๆ
ewwhite

1
KVM ไม่ได้กำหนดตารางเวลาไว้ ในความเป็นจริงมีเพียง VMWare เท่านั้นที่ทำสิ่งนี้และแม้ว่าพวกเขาได้เพิ่มกลไกบางอย่างในการผ่อนคลายความบ้าของการจัดตารางเวลาแก๊งใน v5
dyasny

4

มันขึ้นอยู่กับ ถ้าอย่างที่คุณกำลังพูดคุณจะ "max out" ซึ่งฉันคิดว่าหมายถึง overallocate CPU (กำหนดแกน CPU เสมือนมากกว่าที่คุณมีหรือมากกว่าที่คุณมี) HT ควรจะแน่นอน บน.

หากคุณไม่ได้รวมการทดสอบโดยทั่วไปการทดสอบภายใต้โหลดที่เฉพาะเจาะจงของคุณมักจะดีกว่า - บางครั้ง HT อาจทำให้ประสิทธิภาพเสียหายได้จริง


ฉันวางแผนที่จะจัดสรรแกน / เธรดให้มากที่สุดเท่าที่จะทำได้ แต่ฉันไม่ได้วางแผนที่จะจัดสรรเกิน
Soviero

คุณคิดว่าโฮสต์ระบบปฏิบัติการไม่ต้องการเวลา CPU เลยหรือไม่? และถ้าคุณจัดสรร v-cores ให้มากที่สุดเท่าที่คุณมีเธรดที่มี HT เปิดอยู่แสดงว่าคุณกำลังรวมอยู่ด้วยอย่างน้อย 70-80% เพราะแม้เมื่อ HT เพิ่มประสิทธิภาพการทำงานก็มักจะเพิ่มขึ้น 20-30% ไม่ใช่โดย 100% อย่างที่ใคร ๆ ก็คิดจากการนับด้าย
dyasny

ตกลงดังนั้นจะมีการจัดสรร "คอร์" ไม่เกิน 12 แกน (75% จาก 16)?
Soviero

1
คิดว่าฉันยังไม่ชัดเจนพอ คุณสามารถ overallocate และขึ้นอยู่กับโหลดใน VMs CPU อาจไม่กลายเป็นคอขวดเลย ยิ่งกว่านั้นคุณไม่ควรกำหนด CPU เพิ่มเติมให้กับ VM มากกว่าที่จำเป็นจริงๆเพราะยิ่งมี CPU มากเท่าไหร่ VM ก็ยิ่งยากที่จะกำหนดตารางเวลาดังนั้น v-cpus จำนวนมากจึงสามารถขัดขวางประสิทธิภาพได้จริง สำหรับประสิทธิภาพที่เพิ่มขึ้น 20% จากการทำไฮเปอร์เธรด - นี่ไม่ใช่สัมบูรณ์จำนวนอาจสูงขึ้นต่ำลงลดลงเป็นศูนย์หรือเป็นลบ - ขึ้นอยู่กับโหลด VM
dyasny

โอวตกลง. ขอขอบคุณ.
Soviero

3

มีจำนวนมากของตัวแปรที่มีผลต่อประสิทธิภาพการทำงานของ VM HT เป็นเพียงหนึ่งในตัวแปรอื่น ๆ แต่มันก็ขึ้นอยู่กับวิธีการตั้งค่า VM

หนึ่งในตัวแปรที่มีผลต่อ HT นั้นขึ้นอยู่กับประเภทของ Hypervisor ที่ใช้

หากคุณกำลังใช้เครื่องเสมือนน้ำหนักเบาเช่น VZ, VServer และอื่น ๆ มันก็ค่อนข้างชัดเจนว่า HT จะให้ประโยชน์ที่เหมาะสมเนื่องจาก VM เหล่านี้ไม่ได้แยกอย่างแน่นหนาและเหมือนใช้ซอฟต์แวร์มัลติเธรด

หากคุณกำลังใช้เครื่องเสมือนรุ่นหนาเช่น KVM, Xen HVM เป็นต้นเป็นไปได้ว่า HT จะรบกวนสิ่งต่าง ๆ เช่นเมื่อ VM ถูกจัดสรร CPU สองตัว แต่ลงเอยด้วยการใช้ HT หนึ่งตัวบนแกนที่ต่างกัน

ดังนั้นสิ่งที่ดีที่สุดที่ต้องทำคือยังคงทดสอบการตั้งค่าของคุณเพื่อดูว่าอะไรที่เหมาะกับคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.