Xen vs. KVM no desempenho

34

O que é mais rápido no mesmo hardware, Xen ou KVM?

Estou tentando escolher uma tecnologia de virtualização para funcionar, o que proporciona o melhor desempenho.

Existem alguns benchmarks aqui que encontrei sobre o assunto: link

Eles mostram o KVM como vencedor, com significativa diferença de desempenho - o que contraria a idéia de que o KVM é um hypervisor tipo 2 e, por definição, deve ser mais lento que hipervisores Tipo-1 (como Xen) - ou pelo menos que o que os artigos na web dizem.

Alguma idéia sobre o assunto?

    
por SyRenity 17.07.2009 / 05:07

7 respostas

32

Esse benchmark é apenas comparar a velocidade do sistema operacional nativo com um único sistema operacional convidado. Não é um teste do mundo real. Eu não acho que eu colocaria muito peso nisso. A maioria dos participantes do KVM argumenta que o Xen requer muitas interrupções e saltos entre o kernel e o espaço do usuário, mas da maioria dos benchmarks mais reais que eu vi que realmente não foram realizados e o Xen parece ser um pouco mais rápido do que o KVM.

Desculpe, não tenho um link para fazer isso. Mas vou dizer que o KVM está melhorando rapidamente e parece estar recuperando o conjunto de recursos e a estabilidade rapidamente.

Quanto a qual abordagem é melhor. O campo Xen argumentará que um hipervisor leve e de peso é a virtualização necessária para ser seguro e rápido. O Xen também está começando a ser suportado no firmware por alguns fornecedores, o que também é bom. O campo KVM argumentará que o KVM é mais simples e que o Linux é capaz de ser um bom hipervisor.

No final, ainda não está claro qual direção vai ganhar. O Xen certamente tem uma vantagem inicial e já tem uma boa participação de mercado. Mas ainda não está no kernel da linha principal. Espero que isso mude em breve e certamente houve muita conversa sobre isso na lista do kernel nos últimos meses. A Red Hat está no campo de KVM agora e estará empurrando-a como a plataforma de virtualização de escolha. O Red Hat Linux 5.4, que será lançado em breve, será o primeiro a incluí-lo. Então, isso provavelmente atrairá as lojas que ainda não implantaram ou comprometeram uma plataforma de virtualização.

No que diz respeito às ferramentas, tanto o Xen quanto o KVM usam libvirt e QEMU e as ferramentas associadas a eles. Então, eles compartilham muitas das mesmas ferramentas, como o virt-manager.

Nós usamos o Xen no trabalho e funciona bem para nós. Mas eu estive pesquisando o KVM devido a alguns problemas de encaminhamento e passagem de PCI que não consegui resolver com o Xen. Eu não tenho certeza se o KVM é melhor nisso, mas eu acho que vou descobrir quando eu tentar. Uma coisa que notei ao pesquisar meus problemas com o USB é que a documentação do KVM é mais acessível e organizada em comparação com a do Xen. Mas não há plataforma de virtualização perfeita, então você precisa descobrir o que faz sentido para você.

    
por 17.07.2009 / 06:22
6

Eu pessoalmente escolheria virtualização com base na usabilidade, suporte, confiabilidade e adequação para as máquinas virtuais que você está usando.

As taxas de transferência de dados em rede do Xen parecem ser tão boas quanto o hardware real, mas também tive algumas batalhas com Xen e vLans e várias placas Ethernet. Eu não tenho experiência com o KVM, mas eu também sugiro que você considere o VMware ESX (i) também.

    
por 17.07.2009 / 16:00
4

FWIW: A resposta depende inteiramente de suas necessidades, agora e no futuro.

Sim, sei que essa é uma resposta inútil. Infelizmente é verdade. Sua escolha de virtualização afetará praticamente tudo o que você faz depois, então você precisa se fazer algumas perguntas.

(1) A diferença entre 97% do desempenho nativo e 96% do desempenho nativo (números retirados do ar) é realmente importante para você?

(1a) Se alguém faz melhor com acesso HD (o que realmente implica que você está usando um grande banco de dados, ou você não pode pagar a RAM extra), e o outro faz melhor com a rede, que é mais importante para você?

(2) Você está confiante usando as ferramentas fornecidas com qualquer solução?

(3) Será que o fato de alguém ser (mais ou menos) nativo em kernels recentes do Linux, e o outro não, fazer diferença?

(3a) Você agora, ou você já foi ... er ... você precisará executar um SO diferente em virtualização? Não precisa ser o Windows. Pode ser o FreeBSD, ou até mesmo o Haiku, ou o que for. (Xen provavelmente ganha aqui, mas eu sugiro que você verifique.)

Olhando para a grande figura, vejo o KVM como resposta do Linux às zonas do Solaris. (Eu preferiria ter zonas do Solaris, mas vejo o paralelo.) Eu vejo o Xen como uma tecnologia madura de hipervisor com suporte para vários sistemas operacionais, mas se você não precisar de vários sistemas operacionais, isso não importa muito. / p>

Para ser absolutamente honesto, você não pode ir muito mal de qualquer maneira (dadas as advertências acima). Eu prefiro Xen, porque fui para Cambridge; mas então, se eu trabalhasse em RH, provavelmente preferiria o KVM.

    
por 14.08.2010 / 20:01
4

Você encontrará informações muito interessantes sobre o assunto na seguinte apresentação: Comparação Quantitativa de Xen e KVM

A pessoa que fez isso é um especialista em Xen, mas a comparação parece bastante justa.

    
por 17.07.2009 / 08:27
3

Eu posso estar saindo em desvantagem aqui, mas não acho que o desempenho bruto seja a métrica mais importante quando se trata de tecnologias como essa.

Acho que a usabilidade e a interface são importantes, bem como ferramentas para suportar uma infraestrutura confiável. Parece-me que o Xen tem um conjunto muito mais robusto de aplicativos existentes que o suportam do que o KVM. Isso pode não ser o caso, já que não tenho evidência para respaldar.

Seja o que for, decida qual é a melhor solução para você e observe o pacote inteiro, não apenas o desempenho bruto.

    
por 17.07.2009 / 05:11
1

Muitas das dificuldades ou facilidades na configuração do KVM dependem da distribuição. Escolher uma distribuição centrada em Xen tornará Xen mais fácil. Escolher uma distribuição centrada no KVM tornará o KVM mais fácil.

A questão das ferramentas é um tanto irrelevante, porque ambas usam libvirt. Isso significa que você usa as mesmas ferramentas de gerenciamento para ambos na maioria dos casos.

    
por 07.08.2009 / 20:54
0

No final de 2017, a Amazon, que antes era a maior usuária do Xen, anunciou que usará o KVM para todos os novos tipos de instância C5 . Pelo que sei, apenas o provedor de nuvem SoftLayer é deixado como um grande usuário Xen. O Linode mudou em 2015 e relatou melhorias importantes no desempenho .

É difícil encontrar uma comparação de desempenho realista e atualizada, mas não parece haver uma lacuna tão grande entre as duas soluções quanto você imagina. Dependendo do caso de uso, o Xen pode ser ainda mais rápido. O KVM tem outros benefícios, sendo parte do kernel Linux e adotado pela RedHat, que também são relevantes. Por exemplo, esta resposta explica por que o Google escolhe o KVM para o Google Compute Engine.

Ainda assim, o fato de quase todos os provedores de nuvem, especialmente o Google e a Amazon, estarem escolhendo o KVM em detrimento do Xen é um strong argumento de que, para cargas de trabalho típicas, o KVM é uma ótima opção em termos de desempenho.

    
por 21.01.2018 / 20:47