O que é mais rápido no mesmo hardware, Xen ou KVM?
Estou tentando escolher uma tecnologia de virtualização para funcionar, que ofereça o melhor desempenho.
Existem algumas referências aqui que encontrei sobre o assunto: http://virt.kernelnewbies.org/XenVsKVM
Eles mostram a KVM como vencedora, com uma diferença significativa no desempenho - o que contraria a ideia de que a KVM é um hipervisor tipo 2 e, por definição, deve ser mais lenta que os hipervisores tipo 1 (como Xen) - ou pelo menos artigos na web dizem.
Alguma idéia sobre o assunto?
xen
kvm-virtualization
performance
benchmark
SyRenity
fonte
fonte
Respostas:
Esse benchmark está apenas comparando a velocidade do sistema operacional nativo com um único sistema operacional convidado. Dificilmente é um teste do mundo real. Eu não acho que eu colocaria muito peso nisso. A maior parte do campo da 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 do mundo real que eu vi que realmente não foi realizado e o Xen parece ser um pouco mais rápido do que KVM.
Desculpe, não tenho um link para fazer backup disso. Mas direi que o KVM está melhorando rapidamente e parece estar alcançando rapidamente o conjunto de recursos e a estabilidade.
Quanto a qual abordagem é melhor. O campo Xen argumentará que um verdadeiro hipervisor leve é necessário que a virtualização seja segura e rápida. O Xen também está começando a ser suportado no firmware por alguns fornecedores, o que também é bom. O campo da KVM argumentará que a KVM é mais simples e que o Linux é capaz de ser um bom hipervisor.
No final, ainda não está claro qual direção vencerá. O Xen certamente tem um avanço e já possui uma boa participação de mercado. Mas ainda não está no kernel da linha principal. Espero que isso mude em breve e certamente tenha havido muita conversa sobre isso na lista de kernel nos últimos meses. A Red Hat está no campo da KVM agora e estará promovendo a plataforma de virtualização de sua escolha. O Red Hat Linux 5.4, que será lançado em breve, será o primeiro a incluí-lo. Portanto, isso provavelmente atrairá lojas que ainda não lançaram ou se comprometeram com uma plataforma de virtualização.
No que diz respeito às ferramentas, o Xen e o KVM usam libvirt e QEMU e as ferramentas associadas a eles. Então, eles compartilham muitas das mesmas ferramentas, como virt-manager.
Usamos o Xen no trabalho e funciona bem para nós. Mas eu estive pesquisando o KVM devido a alguns problemas de encaminhamento USB e de passagem do PCI que não consegui resolver com o Xen. Não tenho certeza se o KVM é melhor nisso, mas acho que vou descobrir quando tentar. Uma coisa que notei ao pesquisar meus problemas de USB é que a documentação da KVM é mais avaliada e organizada em comparação com a do Xen. Mas como não existe uma plataforma de virtualização perfeita, você precisará descobrir o que faz sentido para você.
fonte
Eu, pessoalmente, escolheria a 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 da rede Xen parecem ser tão boas quanto o hardware real, mas também tive algumas batalhas com o Xen e vLans e várias placas Ethernet. Não tenho experiência com KVM, mas também sugiro que você considere o VMware ESX (i).
fonte
FWIW: A resposta depende inteiramente de suas necessidades, agora e no futuro.
Sim, eu sei que é uma resposta inútil. Infelizmente é verdade. Sua escolha de virtualização afetará praticamente tudo o que você fará depois, portanto, faça algumas perguntas a si mesmo.
(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 um se sair melhor com o acesso HD (o que realmente significa que você está usando um excelente banco de dados ou não pode pagar a RAM extra), e o outro se sair melhor com a rede, o que é mais importante para você ?
(2) Você está confiante ao usar as ferramentas fornecidas com qualquer uma das soluções?
(3) O fato de um ser (mais ou menos) nativo dos kernels recentes do Linux e o outro não fazer diferença?
(3a) Você agora, ou já esteve ... er ... será necessário executar um sistema operacional diferente sob virtualização? Não precisa ser o Windows. Pode ser o FreeBSD, ou mesmo o Haiku, ou qualquer outra coisa. (O Xen provavelmente vence aqui, mas sugiro que verifique.)
Olhando para o cenário geral, vejo o KVM como a resposta do Linux para as zonas Solaris. (Prefiro ter zonas Solaris, mas vejo o paralelo.) 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.
Para ser absolutamente honesto, você não pode dar muito errado de qualquer maneira (dadas as advertências acima). Eu prefiro o Xen, porque fui para Cambridge; mas, se eu trabalhasse para RH, provavelmente preferiria o KVM.
fonte
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.
fonte
Eu posso estar me irritando aqui, mas não acho que o desempenho bruto seja a métrica mais importante quando se trata de tecnologias como essa.
Penso que a usabilidade e a interface são importantes, bem como as 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. Pode não ser o caso, pois não tenho provas para fazer o backup.
O que quer que você escolha, decida qual a melhor solução para você e observe todo o pacote, não apenas o desempenho bruto.
fonte
Muitas das dificuldades ou facilidades na configuração do KVM dependem da distribuição. Escolher uma distribuição centrada no Xen tornará o Xen mais fácil. Escolher uma distribuição centrada na KVM tornará a KVM mais fácil.
A questão das ferramentas é um tanto irrelevante porque ambos usam libvirt. Isso significa que você usa as mesmas ferramentas de gerenciamento para ambos na maioria dos casos.
fonte
No final de 2017, a Amazon, que anteriormente era o maior usuário do Xen, anunciou que usará o KVM para todos os novos tipos de instância C5 . Que eu saiba, apenas o provedor de nuvem SoftLayer é deixado como um grande usuário do Xen. O Linode mudou em 2015 e relatou importantes melhorias de desempenho .
É difícil encontrar uma comparação realista e atualizada do desempenho, 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 do Linux e adotado pelo 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 Google e Amazon, estarem escolhendo o KVM em vez do Xen é um forte argumento de que, para cargas de trabalho típicas, o KVM é uma escolha muito boa em termos de desempenho.
fonte