"Performance" tem muitos aspectos. O n00bs mede o tempo de inicialização de um sistema operacional e diz, por exemplo, o Windows 2012 é muuuuito bom porque inicializa em 12 segundos em HD real, talvez 1 segundo em SSD.
Mas esse tipo de medida não é muito útil: o desempenho é igual ao tempo de inicialização do sistema operacional, mas o sistema operacional é inicializado uma vez por mês, otimizando tanto que não faz muito sentido.
Como é o meu negócio diário, posso apontar as quatro partes a seguir que compunham o "desempenho"
Carga da CPU
Isso deve ser comparável, ou seja, uma tarefa com 1000 ms em metal puro será executada em 1000 ms em tempo de processo e provavelmente 1050 ms em tempo de relógio em um ambiente VM inativo no mesmo hardware (alguns detalhes posteriormente). Pesquise no Google o MSDN quanto ao tempo de processo e ao contador de consultas e você pode fazer algo que pode mostrar quanto a VM consome seu tempo de CPU.
Desempenho SQL
O desempenho do SQL depende muito de E / S no armazenamento de dados em que os dados do SQL são armazenados. Vi uma diferença de 300% entre o ISCSI de 1ª geração, que você pode encontrar no NAS doméstico de Buffalo, depois o ISCSI com DCE e um ambiente FC real da velha escola, em todos os níveis. O FC ainda ganha hoje em dia, porque a latência do FC é a menor capacidade de arquivamento que leva a uma "cópia" do protocolo FC para aprimoramentos do datacenter TCP / IP. Aqui, as IOps e a latência são vitais, mas também a largura de banda das E / S do processo do servidor para a mídia - depende se o aplicativo tende a No-SQL ou Datawarehousing ou está no meio disso, como os sistemas ERP ... Sage KHK for small enterprise, SAP para os grandes.
Acesso ao sistema de arquivos
Alguns aplicativos, como o streaming de vídeo, contam com uma largura de banda mínima garantida, outros contam com a taxa de transferência máxima de E / S, como abrir arquivos grandes em um editor hexadecimal, carregar um projeto de vídeo no seu programa de criação de filmes favorito. Não é uma situação típica em uma vm .... os IOps também podem ser importantes para os desenvolvedores. Os desenvolvedores costumam usar VMs porque os ambientes de desenvolvimento são muito sensíveis e, portanto, a tentação de fazer isso em uma VM é alta. Compilar um projeto grande geralmente significa ler toneladas de arquivos pequenos, fazer as coisas do compilador e criar um EXE e os componentes que o acompanham.
Latência da rede para o cliente
Aqui, a usabilidade dos programas WYSIWIG, como o Word 2010, o Openoffice Writer, o LaTEX, o GSView e outros, depende muito da velocidade - a rapidez com que a ação do mouse chega do cliente ao servidor. Especialmente em aplicativos de CAD, isso é importante ... mas também não é um problema de LAN, é o acesso remoto pela WAN onde isso é importante.
Mas - e falo da perspectiva de anos de consultoria - existem usuários com a senha de administrador (e geralmente são funcionários de uma empresa GRANDE com um orçamento GRANDE e um bolso GRANDE) reclamando isso e aquilo, mas deve ser esclarecido qual componente de desempenho é importante para eles e qual é importante da perspectiva do aplicativo que eles usam.
Provavelmente não é um bloco de notas, mas um aplicativo altamente sofisticado para projetar isso e aquilo, que também foi muito dispendioso e deve ser movido no VMware, HyperV ou Xenapp e não tem o desempenho esperado.
Mas eles não têm em mente que ele pode rodar em Xeons de 1,5 GHz em blades não fabricados para desempenho puro da CPU, eles são construídos para uma média, digamos "otimizados para $ por ciclo de CPU" ou "ciclos de CPU por Watt" .
E quando falamos de tradeoffs e economizações - isso leva principalmente a compromissos excessivos. O comprometimento excessivo leva à falta de recursos, onde a CPU pode ser tratada muito bem, mas a falta de memória leva a paginação, a falta de E / S nos roteadores principais aumenta o tempo de resposta em tudo e a sobrecarga transacional em qualquer tipo de armazenamento pode parar todos os aplicativos úteis de responder muito rapidamente. Aqui, o monitoramento é necessário, mas muitos fornecedores de software não conseguem fornecer essas informações ... por outro lado, um host com recursos de 3 servidores físicos provavelmente pode lidar com 8 máquinas virtuais do mesmo layout, como as físicas ...
As compensações da CPU em sistemas inativos geralmente levam a sistemas com desempenho 50% mais lento que os sistemas físicos; por outro lado, ninguém é capaz de instalar o sistema operacional "mundo real" e o aplicativo "mundo real" que os funcionários de TI do cliente desejam migrar para a VM caixa. E leva dias (talvez semanas, mas com certeza 42 reuniões) para deixar claro que a tecnologia VM pode oferecer flexibilidade negociando a velocidade pura da CPU. Isso acabou de ser incorporado às CPUs desses sistemas blade, que atualmente hospedam ambientes VM maiores. Além disso, a memória não será comparável, também serão aplicadas algumas trocas. O DDR3 1600 CL10 terá maior largura de banda de memória que o DDR2 800 ECC LLR - e todos sabem que as CPUs Intel lucram com isso de uma maneira diferente da AMD cpus. Mas eles raramente são usados em ambientes produtivos, mais em caixas brancas ou em datacenters hospedados em países do terceiro mundo que oferecem serviço de datacenter por 10% do preço que um datacenter em sua própria terra natal pode cobrar. Graças ao Citrx, um datacenter pode estar em qualquer lugar se tiver menos de 150 ms de latência entre o usuário final e o datacenter.
E a perspectiva dos usuários domésticos ....
Por último, mas não menos importante, algumas pessoas querem jogar fora o Win7 ou XP e trocá-lo por um Linux, e então surge a questão dos jogos porque, na verdade, apenas alguns jogos estão disponíveis para Linux e Windows. O jogo depende muito da aceleração 3D. A estação de trabalho VMWare 6.5 e o player gratuito conectado podem lidar com o DirectX 9, o que significa que um Doom3 em uma VM pode ser executado na placa gráfica do host em tela cheia. Os jogos são na maioria aplicativos de 32 bits, portanto, eles não consomem mais de 3 GB e, principalmente, não mais que 3 CPUs (visto no Crysis). Os players de VM e WS mais novos podem lidar com versões mais altas do DirectX e provavelmente também com OpenGL ... Eu joguei UT e UT2004 no VMware 6.5, o host tinha um ATI Radeon 2600 móvel e uma CPU T5440. Era estável em 1280x800 e jogável mesmo em jogos em rede ....