나는 당신과 같은 질문에 대한 간단하고 절대적인 대답이 없다는 것을 알았습니다. 각 가상화 솔루션은 특정 성능 테스트에서 다르게 작동합니다. 또한 디스크 I / O 처리량과 같은 테스트는 여러 가지 테스트 (읽기, 쓰기, 다시 쓰기 등)로 나눌 수 있으며 결과는 솔루션마다, 시나리오마다 다릅니다. 그렇기 때문에 하나의 솔루션을 디스크 I / O에 가장 빠른 것으로 지정하는 것이 쉽지 않은 이유는 디스크 I / O의 오버 헤드와 같은 레이블에 대한 절대적인 대답이없는 이유입니다.
서로 다른 벤치 마크 테스트 간의 관계를 찾으려고하면 더 복잡해집니다. 내가 테스트 한 솔루션 중 어느 것도 미세 작업 테스트에서 우수한 성능을 발휘하지 못했습니다. 예를 들어 : VM 내에서 "gettimeofday ()"에 대한 단일 호출은 평균적으로 하드웨어에서보다 11.5 배 더 많은 클럭주기를 완료했습니다. 하이퍼 바이저는 실제 응용 프로그램에 최적화되어 있으며 미세 작업에는 적합하지 않습니다. 실제 응용 프로그램에 더 적합한 응용 프로그램에는 문제가되지 않을 수 있습니다. 즉, 마이크로-작동으로 1,000 클록 미만의 사이클을 소비하는 애플리케이션을 완료합니다 (2.6GHz CPU의 경우 1,000 클록 사이클은 385 나노초 또는 3.85e-7 초로 소비 됨).
x86 아키텍처를위한 데이터 센터 통합을위한 4 가지 주요 솔루션에 대한 광범위한 벤치 마크 테스트를 수행했습니다. VM 내부의 성능과 하드웨어 성능을 비교하는 거의 3000 개의 테스트를 수행했습니다. 하드웨어 내에서 측정 된 최대 성능과 VM 내부에서 측정 된 최대 성능의 차이를 '오버 헤드'라고했습니다.
솔루션 :
- VMWare ESXi 5
- Microsoft Hyper-V Windows 2008 R2 SP1
- Citrix XenServer 6
- Red Hat Enterprise Virtualization 2.2
게스트 OS :
- Microsoft Windows 2008 R2 64 비트
- Red Hat Enterprise Linux 6.1 64 비트
테스트 정보 :
- 서버 : 2GB Sun Fire X4150, 각각 8GB RAM, 2X Intel Xeon E5440 CPU 및 4 기가비트 이더넷 포트
- 디스크 : 기가비트 이더넷을 통한 iSCSI를 통한 6X 136GB SAS 디스크
벤치 마크 소프트웨어 :
CPU 및 메모리 : 32 비트 및 64 비트 모두에 대한 Linpack 벤치 마크 . 이것은 CPU와 메모리를 많이 사용합니다.
디스크 I / O 및 지연 시간 : Bonnie ++
네트워크 I / O : Netperf : TCP_STREAM, TCP_RR, TCP_CRR, UDP_RR 및 UDP_STREAM
마이크로 오퍼레이션 : rdtscbench : 시스템 호출, 프로세스 간 파이프 통신
평균은 다음 매개 변수를 사용하여 계산됩니다.
CPU 및 메모리 : 평균 (HPL32, HPL64)
디스크 I / O : 평균 (put_block, rewrite, get_block)
네트워크 I / O : 평균 (tcp_crr, tcp_rr, tcp_stream, udp_rr, udp_stream)
마이크로 연산 AVERAGE (getpid (), sysconf (), gettimeofday (), malloc [1M], malloc [1G], 2pipes [], simplemath [])
테스트 시나리오의 경우 메트릭을 사용하여 네 가지 가상화 솔루션의 결과 평균은 다음과 같습니다.
VM 계층 오버 헤드, Linux 게스트 :
VM 계층 오버 헤드, Windows 게스트 :
해당 값은 일반적이며 특정 사례 시나리오를 반영하지 않습니다.
전체 기사를 살펴보십시오 : http://petersenna.com/en/projects/81-performance-overhead-and-comparative-performance-of-4-virtualization-solutions