Tôi thấy rằng không có câu trả lời đơn giản và tuyệt đối cho các câu hỏi như của bạn. Mỗi giải pháp ảo hóa hoạt động khác nhau trong các bài kiểm tra hiệu suất cụ thể. Ngoài ra, các thử nghiệm như thông lượng I / O của đĩa có thể được chia thành nhiều thử nghiệm khác nhau (đọc, viết, viết lại, ...) và kết quả sẽ thay đổi tùy theo từng giải pháp và theo kịch bản. Đây là lý do tại sao việc chỉ ra một giải pháp là nhanh nhất cho I / O đĩa và đây là lý do tại sao không có câu trả lời tuyệt đối cho các nhãn như chi phí cho I / O của đĩa.
Nó trở nên phức tạp hơn khi cố gắng tìm mối quan hệ giữa các bài kiểm tra điểm chuẩn khác nhau. Không có giải pháp nào tôi đã thử nghiệm có hiệu suất tốt trong các thử nghiệm hoạt động vi mô. Ví dụ: Bên trong VM, một cuộc gọi duy nhất đến "gettimeofday ()" đã thực hiện, trung bình, gấp 11,5 lần chu kỳ xung nhịp để hoàn thành so với trên phần cứng. Các siêu giám sát được tối ưu hóa cho các ứng dụng trong thế giới thực và không hoạt động tốt trên các hoạt động vi mô. Đây có thể không phải là vấn đề cho ứng dụng của bạn có thể phù hợp hơn với ứng dụng trong thế giới thực. Ý tôi là bằng cách vận hành vi mô bất kỳ ứng dụng nào sử dụng ít hơn 1.000 chu kỳ xung nhịp để hoàn thành (Đối với CPU 2,6 GHz, 1.000 chu kỳ xung nhịp được sử dụng trong 385 nano giây hoặc 3,85e-7 giây).
Tôi đã thực hiện thử nghiệm điểm chuẩn rộng rãi trên bốn giải pháp chính để hợp nhất trung tâm dữ liệu cho kiến trúc x86. Tôi đã thực hiện gần 3000 bài kiểm tra so sánh hiệu năng bên trong máy ảo với hiệu năng phần cứng. Tôi đã gọi 'chi phí' là sự khác biệt của hiệu suất tối đa được đo bên trong VM (s) với hiệu suất tối đa được đo trên phần cứng.
Bản đồ đường viền:
- VMWare ESXi 5
- Microsoft Hyper-V Windows 2008 R2 SP1
- Citrix XenServer 6
- Ảo hóa doanh nghiệp Red Hat 2.2
Hệ điều hành khách:
- Microsoft Windows 2008 R2 64 bit
- Red Hat Enterprise Linux 6.1 64 bit
Thông tin kiểm tra:
- Máy chủ: 2X Sun Fire X4150 mỗi máy có RAM 8GB, CPU Intel Xeon E5440 2X và bốn cổng Ethernet gigabit
- Đĩa: 6X 136GB đĩa SAS qua iSCSI qua gignet ethernet
Phần mềm điểm chuẩn:
CPU và bộ nhớ: Linpack điểm chuẩn cho cả 32 và 64 bit. Đây là CPU và bộ nhớ chuyên sâu.
Đĩa I / O và độ trễ: Bonnie ++
Mạng I / O: Netperf: TCP_STREAM, TCP_RR, TCP_CRR, UDP_RR và UDP_STREAM
Các hoạt động vi mô: rdtscbench : Các cuộc gọi hệ thống, liên lạc qua đường ống
Các trung bình được tính toán với các tham số:
CPU và bộ nhớ: AVERAGE (HPL32, HPL64)
Đĩa I / O: AVERAGE (put_block, viết lại, get_block)
Mạng I / O: AVERAGE (tcp_crr, tcp_rr, tcp_stream, udp_rr, udp_stream)
Các hoạt động vi mô AVERAGE (getpid (), sysconf (), gettimeofday (), malloc [1M], malloc [1G], 2pipes [], Simplemath [])
Đối với kịch bản thử nghiệm của tôi, sử dụng số liệu của tôi, trung bình kết quả của bốn giải pháp ảo hóa là:
Chi phí lớp VM, khách Linux:
CPU và bộ nhớ: 14,36%
Mạng I / O: 24,46%
Đĩa I / O: 8,84%
Độ trễ đĩa để đọc: chậm hơn 2,41 lần
Thời gian thực hiện thao tác vi mô: chậm hơn 10,84 lần
Chi phí lớp VM, Windows khách:
Xin lưu ý rằng các giá trị đó là chung chung và không phản ánh kịch bản trường hợp cụ thể.
Vui lòng xem toàn bộ bài viết: http://peterenna.com/en/projects/81-performance-overhead-and-comparative-performance-of-4-virtualization-solutions