Xen vs. KVM 성능


36

동일한 하드웨어, Xen 또는 KVM에서 더 빠른 것은 무엇입니까?

최고의 가상화 성능을 발휘할 수있는 가상화 기술을 선택하려고합니다.

여기서 주제에 대해 찾은 몇 가지 벤치 마크가 있습니다 : http://virt.kernelnewbies.org/XenVsKVM

KVM은 승자로서 성능을 크게 차이로 보여줍니다. 이는 KVM이 유형 2 하이퍼 바이저라는 개념과 상충되며, 정의상 유형 1 하이퍼 바이저 (Xen 등)보다 느리거나 최소한 웹의 기사는 말합니다.

주제에 대한 아이디어가 있습니까?


KVM + 1xVM과 Xen + 1VM을 비교할 때 그 비교는 꽤 나빠 보입니다 ... VM에만있는 경우 가상화의 요점은 무엇입니까?
Antoine Benkemoun

KVM은 유형 2 하이퍼 바이저가 아닙니다. 확실히 유형 1이며 Xen보다 하드웨어에 더 가깝습니다. 그래서 그래, 동일한 조건 부여, KVM은 특히 현대에는 virtio 드라이버와 함께, 더 나은 수행해야합니다
dyasny

2017 년에 이것을 읽고 있다면 (누군가 질문을 간단하게 편집 한 경우)이 질문과 그 답변이 8 세 임을 깨달으십시오 . KVM vs Xen 환경은 현재 매우 다릅니다.
thomasrutter

답변:


33

이 벤치 마크는 기본 OS의 속도를 단일 게스트 OS와 비교하는 것입니다. 실제 테스트는 아닙니다. 나는 그것에 많은 무게를 넣을 것이라고 생각하지 않습니다. 대부분의 KVM 캠프는 Xen이 커널과 사용자 공간 사이에 너무 많은 인터럽트와 홉을 필요로한다고 주장하지만 실제로 보지 못했고 Xen이 조금 더 빠른 것으로 보았던 실제 벤치 마크 대부분에서 KVM보다.

유감스럽게도 백업 할 수있는 링크가 없습니다. 그러나 KVM이 빠르게 향상되고 있으며 기능 세트와 안정성을 빠르게 따라 잡는 것 같습니다.

어떤 접근 방식이 더 낫습니다. 젠 캠프는 안전하고 빠른 가상화를 위해서는 진정한 경량 하이퍼 바이저가 필요하다고 주장합니다. Xen은 일부 공급 업체의 펌웨어에서도 지원되기 시작했습니다. KVM 캠프는 KVM이 더 단순하고 Linux가 우수한 하이퍼 바이저가 될 수 있다고 주장합니다.

결국 어느 방향이 궁극적으로 이길지는 여전히 불분명합니다. Xen은 확실히 앞서 나가고 있으며 이미 시장 점유율이 높습니다. 그러나 아직 메인 커널에는 없습니다. 바라건대 곧 바뀔 것이며, 지난 몇 달 동안 커널 목록에서 이것에 대해 많은 이야기가 있었을 것입니다. Red Hat은 현재 KVM 캠프에 있으며 선택한 가상화 플랫폼으로 추진할 것입니다. 곧 출시 될 Red Hat Linux 5.4가 가장 먼저 포함됩니다. 따라서 아직 가상화 플랫폼에 출시되지 않은 상점을 유치 할 수 있습니다.

도구가 사용되는 한 Xen과 KVM은 libvirt와 QEMU 및 이와 관련된 도구를 사용합니다. 따라서 virt-manager와 같은 많은 도구를 공유합니다.

우리는 직장에서 Xen을 사용하며 우리에게 잘 작동합니다. 그러나 Xen으로 해결할 수없는 일부 USB 전달 및 PCI 통과 문제로 인해 KVM을 조사했습니다. KVM이 더 나을지는 확실하지 않지만 일단 시도하면 알아낼 것입니다. USB 문제를 조사 할 때 Xen에 비해 KVM의 문서가 더 평가 가능하고 체계화되어 있다는 사실을 알게되었습니다. 그러나 완벽한 가상화 플랫폼이 없으므로 자신에게 적합한 것이 무엇인지 파악해야합니다.


앞으로도 같은 생각이 든다면? Redhat 5.4가 기본 KVM 지원으로 곧 제공 될 예정이므로, 1/2 년 안에 Xen에서 KVM으로 전환 할 필요가없는 것이 무엇인지 알고 싶습니다. 감사.
SyRenity

1
나는 미래가 무엇을 가지고 있는지 예측할 수 없습니다. 그러나이 플랫폼들 중 어느 것도 사라지지 않을 것입니다. RedHat은 Xen과 KVM을 지원하기 위해 최선을 다하고 있다고 말했습니다. 시간 만이이 방법을 알려줄 것입니다. 그러나 6 개월 안에 변경해야하는 것에 대해서는 걱정하지 않습니다. 아마도 몇 년 안에 오픈 소스 가상화 플랫폼에서 확실한 리더가 될 것입니다.
3dinfluence

USB 지원을 위해 KVM으로 옮기는 것에 흥미가 있습니다. USB 2.0이 지원되지 않아서 이사를해야한다고 생각했습니다! 나는 당신의 게시물에서 Xen이 훨씬 나아지지 않을 것이라고 추측합니다.
jkp

1
@jkp 저는 우리 인프라의 다른 부분이 교체되기를 기다리고있었습니다. 방금 완료되었습니다. 앞으로 몇 주 안에 KVM을 더 자세히 볼 수있을 것입니다. 그러나 필자의 경우 하드웨어는 IOMMU (VTd)를 지원하지 않습니다. 따라서 KVM으로 이동해도 도움이 될지 확실하지 않습니다. XEN에는 pci 통과를위한 IOMMU 지원이 필요합니다. 그러나 KVM은 libvirt를 사용하여 USB 및 PCI 요소 패스 스루를 지원합니다. 그래서 IOMMU없이 작동하기를 바라고 있습니다. 지금 Xen에서 USB를 통과하는 유일한 방법은 USB PCI 컨트롤러를 통과하는 것이지만 해당 시점에 정보가 표시 될 수 있습니다.
3dinfluence

1
@ 3dinfluence : USB 및 PCI 지원이 구현되는 방식을 이해하지 못할 수도 있다고 생각합니다. libvirt는 이러한 작업을 자체적으로 수행하지 않으며 VM 하이퍼 바이저의 기본 기능을 구성하는 방법 만 제공합니다. 이 경우 기능은 KVM 커널 모듈과 Qemu 사용자 공간 코드의 조합으로 제공됩니다.
jkp

7

개인적으로 사용중인 가상 머신의 유용성, 지원, 안정성 및 적합성을 기반으로 가상화를 선택합니다.

Xen 네트워킹 데이터 전송 속도는 실제 하드웨어만큼 좋은 것처럼 보이지만 Xen 및 vLans 및 여러 이더넷 카드와도 약간의 전투를 벌였습니다. KVM에 대한 경험이 없지만 VMware ESX (i)도 고려해야합니다.


1
VMware 서버 IO 성능은 매우 나쁩니다. vmware로 이동해야하는 경우 esx를 사용하십시오.
ko-dos

6

FWIW : 대답은 전적으로 현재와 미래의 요구에 달려 있습니다.

네, 이것이 도움이되지 않는 답변이라는 것을 알고 있습니다. 불행히도, 사실입니다. 선택한 가상화는 나중에 수행하는 모든 작업에 영향을 미치므로 몇 가지 질문을해야합니다.

(1) 기본 퍼포먼스의 97 %와 네이티브 퍼포먼스의 96 % (공중에서 뽑아 낸 피겨)의 차이가 정말로 중요합니까?

(1a) HD 액세스로 더 나은 사람이 있다면 (실제로 훌륭한 데이터베이스를 사용하고 있거나 추가 RAM을 감당할 수 없음을 의미 함) 다른 하나는 네트워킹을 통해 더 잘 수행 할 수 있습니다. ?

(2) 두 솔루션 중 하나와 함께 제공된 도구를 사용한다고 확신하십니까?

(3) 하나는 최근의 리눅스 커널에 고유 한 것이며 다른 하나는 차이가 없다는 사실에 차이가 있습니까?

(3a) 지금 가상화를 사용하고 있습니까? 아니면 가상화 환경에서 다른 OS를 실행해야합니까? Windows 일 필요는 없습니다. FreeBSD, 심지어 Haiku 또는 그 외의 것일 수도 있습니다. (Xen이 이길 수도 있지만 확인하는 것이 좋습니다.)

큰 그림을 보면 KVM이 Solaris 영역에 대한 Linux의 대답이라고 생각합니다. (Solaris 영역이 있지만 그와 비슷한 점이 있습니다.) Xen을 여러 OS를 지원하는 성숙한 하이퍼 바이저 기술로보고 있지만 여러 OS가 필요하지 않은 경우에는 그다지 중요하지 않습니다.

솔직히 말해서 어느 쪽도 잘못 갈 수는 없습니다 (위의주의 사항). 나는 캠브리지에 갔기 때문에 젠을 선호합니다. 그러나 RH에서 일했다면 아마도 KVM을 선호 할 것입니다.


6

다음 프레젠테이션에서 주제에 대한 흥미로운 정보를 찾을 수 있습니다. Xen 및 KVM의 양적 비교

이 작업을 수행 한 사람은 Xen 전문가이지만 비교는 꽤 공정한 것 같습니다.


발표 해 주셔서 감사합니다. Xen은 CPU 및 네트워크 IO에서 최고인 반면 KVM은 HD IO에서 최고인 것으로 보입니다. 그러나이 숫자 ( virt.kernelnewbies.org/XenVsKVM )를 읽으면 KVM이 모든 비교에 도움이되는 것처럼 보입니다. 진실이 어디 있는지 아십니까? :)
SyRenity

내 프레젠테이션이 더 사실적으로 보인다고 생각합니다. 한 번에 하나 이상의 VM을 실행합니다. 테스트 프로토콜은 현실에 더 가깝습니다.
Antoine Benkemoun

재미있는 프레젠테이션 +1! Xen은 더 나은 격리를하는 것 같습니다.
Jonas

5

나는 여기서 사지에 나설 수도 있지만, 이와 같은 기술에 관해서는 원시 성능이 가장 중요한 지표라고 생각하지 않습니다.

안정적인 인프라를 지원하는 도구뿐만 아니라 유용성과 인터페이스가 중요하다고 생각합니다. Xen은 KVM보다 그것을 지원하는 훨씬 더 강력한 기존 응용 프로그램을 가지고있는 것 같습니다. 백업 할 증거가 없기 때문에 그렇지 않을 수도 있습니다.

어떤 작업을 수행하든 최상의 솔루션이 무엇인지 결정하고 기본 성능뿐만 아니라 전체 패키지를 살펴보십시오.


RHEV를 살펴 봐야합니다. 관리는 매우 간단하고 사용자 친화적입니다.
dyasny

2

KVM 설정의 어려움과 어려움은 배포에 따라 다릅니다. Xen 중심 분포를 선택하면 Xen이 더 쉬워집니다. KVM 중심 배포판을 선택하면 KVM이 더 쉬워집니다.

도구 질문은 둘 다 libvirt를 사용하기 때문에 다소 관련이 없습니다. 이는 대부분의 경우 동일한 관리 도구를 사용한다는 것을 의미합니다.


1

2017 년 말, Xen을 가장 많이 사용했던 Amazon 은 모든 새로운 C5 인스턴스 유형에 KVM을 사용할 것이라고 발표했습니다 . 내가 아는 한 클라우드 공급자 인 SoftLayer만이 큰 Xen 사용자로 남아 있습니다. Linode는 2015 년에 전환되었으며 주요 성능 향상을보고했습니다 .

현실적이고 최신의 성능 비교를 찾기는 어렵지만 생각하는 것처럼 두 솔루션간에 큰 차이는없는 것 같습니다. 사용 사례에 따라 Xen이 더 빨라질 수 있습니다. KVM은 Linux 커널의 일부이며 RedHat에 의해 수용되는 다른 이점도 있습니다. 예를 들어, 이 답변 은 Google이 Google Compute Engine에 KVM을 선택하는 이유에 대해 자세히 설명합니다.

그럼에도 불구하고 거의 모든 클라우드 제공 업체, 특히 Google 및 Amazon이 KVM over Xen을 선택한다는 사실은 일반적인 워크로드의 경우 KVM이 성능 측면에서 매우 좋은 선택이라는 강력한 논거입니다.


참고 : Amazon은 기본 버전이 아닌 수정 된 버전의 KVM을 사용합니다. 그리고 나는 그들이 전형적인 워크로드를 가지고 있다고 말하고 싶지 않을 것입니다. 아마 그들은 정말로 무겁고 드문 워크로드를 가지고있을 것입니다
imex

@ALex_hha 의미하는 바는 고객이 실행할 응용 프로그램에 가장 적합한 기술을 선택해야한다는 것입니다. 그런 의미에서 서로 다른 사용 사례보다 빠른 설정을 찾아야합니다. 그러나 Xen이 더 호의적 일 수있는 임베디드 시스템과 같은 다른 시나리오가 있다는 데 동의합니다.
Philipp Claßen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.