ประสิทธิภาพใดดีกว่าภายใต้การใช้งาน CPU และหน่วยความจำจำนวนมากบนเซิร์ฟเวอร์เสมือน Xen หรือ VirtualBox
ประสิทธิภาพใดดีกว่าภายใต้การใช้งาน CPU และหน่วยความจำจำนวนมากบนเซิร์ฟเวอร์เสมือน Xen หรือ VirtualBox
คำตอบ:
โดยทั่วไป Xen จะทำงานได้ดีกว่า VirtualBox เนื่องจาก VirtualBox ใช้งานระบบปฏิบัติการ guest ในลักษณะที่ guest OS ไม่ทราบว่ากำลังทำงานอยู่ในสภาพแวดล้อมเสมือนจริง หรือกล่าวอีกนัยหนึ่งว่า guest OS นั้นไม่ได้ถูกปรับแต่งเพื่อให้ทำงานได้จริง ด้วยเหตุนี้ VirtualBox จึงต้องทำตามคำแนะนำประเภทเคอร์เนล 'ดัก' ให้เรียกใช้โค้ดที่กำหนดเองแล้วส่งคืนการควบคุมให้แขก สามารถใช้การสนับสนุนการจำลองเสมือนสำหรับฮาร์ดแวร์ที่จัดทำโดย Intel และ AMD แต่ถึงแม้จะมีค่าใช้จ่ายเพิ่มก็ตาม
ในขณะเดียวกัน Xen ทำให้แน่ใจว่า guest OS นั้นได้รับการคอมไพล์ใหม่เพื่อให้สอดคล้องกับรุ่น Xen ดังนั้นการควบคุมการไหลอย่างราบรื่นจาก guest OS ไปยังไฮเปอร์ไวเซอร์โดยไม่ต้องมีค่าใช้จ่ายในการที่จะแกล้งแขก OS ได้เข้าถึงฮาร์ดแวร์โดยตรง
สำหรับภาพรวมของเทคโนโลยีการจำลองเสมือนจำนวนเล็กน้อยรวมถึงข้อมูลจากการทดสอบประสิทธิภาพให้อ่านรายงานนี้ มันพูดถึง Linux เท่านั้น แต่ครอบคลุม Linux-Vserver, Xen, OpenVZ, KVM, VirtualBox และ QEMU Linux-Vserver และ Xen โดยทั่วไปแล้วเป็นนักแสดงที่ดีที่สุด แต่อ่านรายงานเพื่อดูปริมาณงานที่แตกต่างกัน
ต้องบอกว่าข้างต้นทั้งหมดอาจมีบางพื้นที่ที่ VirtualBox มีประสิทธิภาพสูงกว่า Xen หากระบบปฏิบัติการเกสต์ของคุณมีเลเยอร์หน้าต่างกราฟิกส์ VirtualBox ก็มีการรองรับที่ดีโดยเฉพาะอย่างยิ่งถ้าคุณติดตั้งส่วนประกอบ VirtualBox พิเศษบางอย่างในระบบปฏิบัติการแขก
และในที่สุดคุณควรทราบว่า Xen จะใช้งานระบบปฏิบัติการของแขกที่ได้รับการแก้ไขเท่านั้น ไม่สามารถเรียกใช้ระบบปฏิบัติการ guest guest ที่ไม่ได้แก้ไขได้
คำตอบของ Hamish Downerเข้าใจผิดในประเด็นสุดท้าย Xen สามารถเรียกใช้แขกที่ไม่ได้ทำการแก้ไขได้ แต่พวกเขาจะต้องดำเนินการในฐานะแขกของ HVM ซึ่งเป็นระบบเสมือนจริงทั้งหมด การทำเช่นนี้ต้องการให้คอมพิวเตอร์แม่ข่ายมีการสนับสนุนการจำลองเสมือนสำหรับฮาร์ดแวร์กับ Intel VT หรือ AMD-V ของซีพียูที่มีคุณสมบัติ
Xen และ Virtualbox แต่ละแห่งมีสถานที่ แต่พวกมันเป็นไฮเปอร์ไวเซอร์ที่แตกต่างกันสองประเภท Xen เป็นไฮเปอร์ไวเซอร์ Type 1 โดยที่ Virtualbox เป็นไฮเปอร์ไวเซอร์ Type 2 ไฮเปอร์ไวเซอร์ Type 1 มักจะเป็นสิ่งที่คุณพบในสภาพแวดล้อมเซิร์ฟเวอร์ที่ไฮเปอร์ไวเซอร์ Type 2 มีแนวโน้มที่จะพบได้บ่อยกว่าสำหรับการเรียกใช้ระบบปฏิบัติการหลายระบบที่คุณโต้ตอบด้วยเป็นเดสก์ท็อป ฉันคิดว่านี่เป็นเพราะความเรียบง่ายและการรวมเดสก์ท็อปที่ดีขึ้น อย่างไรก็ตามแขกที่อยู่ภายใต้ไฮเปอร์ไวเซอร์ประเภท 2 นั้นอยู่ห่างจากฮาร์ดแวร์ที่อยู่ข้างใต้และมีแนวโน้มที่จะช้ากว่าแขกที่อยู่ภายใต้ไฮเปอร์ไวเซอร์ประเภท 1 เช่นเดียวกับทุกสิ่งจะมีข้อยกเว้นกฎอยู่เสมอ
ฉันพูดได้แค่ Xen เท่านั้นเพราะฉันเคยใช้ Virtualbox สำหรับการทำเสมือนเครื่อง windows บนเดสก์ท็อป mac ของฉัน
ดังที่คนอื่น ๆ ได้กล่าวไว้ Xen (และ XenServer ซึ่งใช้ Xen) ใช้เคอร์เนล paravirtualized ที่ปรับปรุงลักษณะการทำงานของ Cpu- และ Memory-bound อย่างไรก็ตามนี่เป็นจริงสำหรับโฮสต์ Linux ที่มีเมล็ดเฉพาะ คุณต้องใช้เคอร์เนล Xen- "เปิดใช้งาน" เพื่อให้สามารถใช้ประโยชน์จากสิ่งนี้ได้
นอกจากนี้ - Windows ไม่สนับสนุนการทำเวอร์ชวลไลเซชันในลักษณะนี้ แต่ส่วนขยาย Intel VT และ AMD-V บนซีพียูที่เกี่ยวข้อง "จับ" Windows และทำให้ทำงานในลักษณะเสมือนจริง Windows 2003 และ Windows 2000 ไม่เคยรู้เลยว่าพวกเขากำลังใช้งานเวอร์ชวลไลเซชันในขณะที่ Windows 2008 จะตรวจจับสิ่งนี้และทำงานในโหมดที่เรียกว่า "enlightened" ซึ่งสามารถเปรียบเทียบได้กับโหมด Linux "paravirtualized"