Eu tenho uma configuração bastante simples: Host Hyper-V do Windows Server 2012, com duas VMs (ambas do Server 2012), uma para o IIS, uma para o SQL Server. Eles estão todos se conectando através da NIC física
Ontem à noite, tentei adicionar um comutador virtual e configurar NICs virtuais nas duas VMs (além da NIC física).
Eu ainda não tinha trocado os servidores para realmente usar as NICs virtuais, mas, por algum motivo, isso destruiu a velocidade de conexão entre as duas VMs - mesmo que as NICs virtuais não estivessem sendo usadas. Estamos falando de 200 a 500 milissegundos a 30 a 90 segundos por solicitação!
Portanto, esta manhã, depois de ver o impacto terrível que teve no meu site, desativei os dois NICs virtuais, pois foi tudo o que mudei e, com certeza, a velocidade voltou.
Em última análise, preciso ativá-los para usar as v-NICs, mas preciso superar esse problema primeiro.
O que poderia estar causando isso? E o que posso fazer para solucionar isso?
Detalhes adicionais:
A configuração é realmente muito simples (o que pode ser parte do meu problema, posso estar simplificando demais o que é necessário para configurar isso).
Eu tenho um único servidor com um único NIC (físico). Atualmente, esse NIC é usado para comunicação entre o v-host e a Internet, bem como entre as duas VMs e a Internet. Também é usado para comunicação interna entre as duas VMs.
No entanto, estou tentando mudar a comunicação interna para percorrer o virtual swtich via vNICs, liberando a NIC física para ser usada apenas para comunicação externa.
Então, adicionei um comutador virtual interno ao v-host e adicionei um NIC virtual a cada VM.
Depois de fazer isso, foi quando minha velocidade de conexão - pela NIC física - caiu drasticamente. Desativar os vNICs (por meio da configuração de rede das VMs) restaurou a velocidade de volta ao normal.
Abaixo estão telas da configuração da VM para o NIC físico externo e vNICs internos (em apenas uma VM, já que ambos estão configurados de forma idêntica).
Outra rodada de detalhes
Ao investigar um pouco mais sobre o assunto, parece que as placas de rede Broadcom são famosas por problemas de desempenho. Este servidor possui duas placas de rede Broadcom BCM5716C. Aqui estão alguns links para discussão de problemas conhecidos:
Acesso lento à rede em máquinas virtuais - Broadcom e Hyper-V
Rede muito lenta da máquina virtual Hyper-V - VMQ - Broadcom
Então comecei a brincar com as configurações, desabilitando várias configurações, uma de cada vez. Nenhuma das alterações pareceu ter qualquer impacto sobre o problema - se eu ativar o vNIC convidado, as velocidades de carregamento cairão para mais de 25 segundos. Desativar novamente, eles retornam para 250ms - um fator de 100 !
Eu também tentei instalar os drivers mais recentes da Broadcom, sem diferença.
Neste momento, sinto que é uma questão de compatibilidade entre a Broadcom NIC e o Hyper-V. Mas eu não quero encomendar novas placas de rede e ter o trabalho de fechar o site, instalá-las e configurá-las, apenas para que o problema persista.
Por isso, seria bom se eu pudesse decidir definitivamente dentro ou fora da NIC.
Configuração do NIC físico no gerenciador de switches
Configuraçãodoswitchvirtualnogerenciadordeswitches
Configuração do NIC físico na VM do BD
ConfiguraçãodaNICvirtualnaVMdoBD