it-swarm-pt.tech

Xen vs. VirtualBox sob carga pesada?

Qual tem melhor desempenho sob uso intenso de CPU e memória nos servidores virtuais, Xen ou VirtualBox?

10
chaos

O Xen geralmente terá um desempenho muito melhor do que o VirtualBox porque o VirtualBox executa o sistema operacional convidado de uma maneira que o sistema operacional convidado não sabe que está sendo executado em um ambiente virtual. Ou, dito de outra forma, o sistema operacional convidado não é modificado para ser executado virtualmente. Por causa disso, o VirtualBox tem que 'capturar' as instruções do tipo kernel, executar algum código personalizado e, em seguida, retornar o controle ao convidado. Ele pode usar o suporte de virtualização de hardware fornecido pela Intel e AMD, mas mesmo assim a sobrecarga aumenta.

Enquanto isso, o Xen garante que o sistema operacional convidado seja recompilado para se ajustar ao modelo Xen. Portanto, o controle flui suavemente do sistema operacional convidado para o hipervisor, sem a sobrecarga de ter que fingir que o sistema operacional convidado tem acesso direto ao hardware.

Para uma visão geral de algumas tecnologias de virtualização, incluindo dados de testes de desempenho, leia este relatório . Ele fala apenas sobre Linux, mas cobre Linux-Vserver, Xen, OpenVZ, KVM, VirtualBox e QEMU. Linux-Vserver e Xen foram geralmente os de melhor desempenho, mas leia o relatório para ver as diferentes cargas de trabalho.

Tendo dito tudo acima, pode haver algumas áreas em que o VirtualBox supera o Xen. Se o seu sistema operacional convidado tiver uma camada de janela gráfica, o VirtualBox terá um bom suporte para isso, principalmente se você instalar alguns componentes especiais do VirtualBox no sistema operacional convidado.

E, finalmente, você deve estar ciente de que o Xen só executará um sistema operacional convidado modificado. Ele não pode executar um sistema operacional convidado não modificado.

25
Hamish Downer

resposta de Hamish Downer está enganado em seu último ponto. O Xen pode executar convidados não modificados, no entanto, eles precisam ser executados como convidados HVM que são totalmente virtualizados. Isso requer que o computador host tenha suporte para virtualização de hardware com processadores Intel VT ou AMD-V.

O Xen e o Virtualbox têm cada um um lugar, mas são dois tipos diferentes de hipervisores. Xen é um hipervisor Tipo 1, onde Virtualbox é um hipervisor Tipo 2. Os hipervisores tipo 1 tendem a ser o que você encontra em ambientes de servidor onde os hipervisores tipo 2 tendem a ser mais comuns para executar vários sistemas operacionais com os quais você interage como desktops. Acho que isso se deve principalmente à sua simplicidade e melhor integração com a área de trabalho. No entanto, os convidados em um hipervisor tipo 2 estão mais distantes do hardware subjacente e tendem a ser mais lentos do que os convidados em um hipervisor tipo 1. Como em tudo, sempre haverá uma exceção à regra.

29
3dinfluence

Só posso falar sobre o Xen, já que só usei o Virtualbox para virtualizar uma máquina Windows em meu desktop mac.

Como outros mencionaram, o Xen (e o XenServer, que é baseado no Xen) usa kernels paravirtualizados que melhoram drasticamente as características de desempenho vinculadas ao Cpu e à memória. No entanto, isso só é verdade para hosts Linux com kernels especializados. Você precisa de um kernel Xen- "habilitado" para tirar vantagem disso.

Além disso - o Windows não suporta a virtualização dessa maneira, mas as extensões Intel VT e AMD-V em suas respectivas CPUs "capturam" o Windows e fazem com que ele se comporte de maneira paravirtualizada. O Windows 2003 e o Windows 2000 nunca sabem que estão rodando virtualizados, enquanto o Windows 2008, por outro lado, detecta isso e roda no modo chamado "iluminado", que pode ser comparado ao modo "paravirtualizado" do Linux.

3
user1952