Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As máquinas virtuais Linux e BSD têm considerações adicionais em comparação com as máquinas virtuais do Windows no Hyper-V.
A primeira consideração é se o Integration Services está presente ou se a VM está sendo executada apenas em hardware emulado sem iluminação. Uma tabela de versões do Linux e BSD que têm Integration Services integrados ou para download está disponível em máquinas virtuais Linux e FreeBSD suportadas para Hyper-V no Windows. Essas páginas têm grades de recursos de Hyper-V disponíveis para versões de distribuição Linux e notas sobre esses recursos, quando aplicável.
Mesmo quando o convidado está executando o Integration Services, ele pode ser configurado com hardware herdado que não apresenta o melhor desempenho. Por exemplo, configure e use um adaptador ethernet virtual para o convidado em vez de usar um adaptador de rede herdado. Com o Windows Server 2016, redes avançadas como SR-IOV também estão disponíveis.
Desempenho de rede Linux
O Linux por padrão permite a aceleração e descarregamentos de hardware por padrão. Se o vRSS estiver habilitado nas propriedades de uma NIC no host e o convidado Linux tiver a capacidade de usar o vRSS, o recurso será habilitado. No Powershell, esse mesmo parâmetro pode ser alterado com o EnableNetAdapterRSS comando.
Da mesma forma, o recurso VMMQ (Virtual Switch RSS) pode ser habilitado na NIC física usada pelo convidado Propriedades>Configure...>>Guia Avançado defina o Comutador Virtual RSS como Habilitado ou habilite o VMMQ no Powershell usando o seguinte:
Set-VMNetworkAdapter -VMName **$VMName** -VmmqEnabled $True
No sistema convidado, o ajuste adicional de TCP pode ser realizado aumentando os limites. Para obter o melhor desempenho, distribuir a carga de trabalho por várias CPUs e ter cargas de trabalho profundas produz a melhor taxa de transferência, já que as cargas de trabalho virtualizadas terão latência maior do que as "bare metal".
Alguns exemplos de parâmetros de ajuste que têm sido úteis em benchmarks de rede incluem:
net.core.netdev_max_backlog = 30000
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_wmem = 4096 12582912 33554432
net.ipv4.tcp_rmem = 4096 12582912 33554432
net.ipv4.tcp_max_syn_backlog = 80960
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240 65535
net.ipv4.tcp_abort_on_overflow = 1
Uma ferramenta útil para microbenchmarks de rede é o ntttcp, que está disponível em Linux e Windows. A versão Linux é de código aberto e está disponível a partir de ntttcp-for-linux no github.com. A versão para Windows pode ser encontrada no centro de download. Ao ajustar cargas de trabalho, é melhor usar quantos fluxos forem necessários para obter a melhor taxa de transferência. Usando ntttcp para modelar o tráfego, o -P parâmetro define o número de conexões paralelas usadas.
Desempenho de armazenamento Linux
Algumas práticas recomendadas, como as seguintes, estão listadas em Práticas recomendadas para executar Linux no Hyper-V. O kernel Linux tem diferentes agendadores de E/S para reordenar solicitações com algoritmos diferentes. NOOP é uma fila de primeiro a entrar, primeiro a sair que delega a decisão de agendamento ao hipervisor. Recomenda-se usar o NOOP como o agendador ao executar a máquina virtual Linux no Hyper-V. Para alterar o agendador de um dispositivo específico, na configuração do carregador de inicialização (/etc/grub.conf, por exemplo), adicione elevator=noop aos parâmetros do kernel e reinicie.
Semelhante à rede de computadores, o desempenho do sistema convidado Linux com armazenamento beneficia-se mais de várias filas com profundidade suficiente para manter o sistema anfitrião ocupado. O desempenho de armazenamento de microbenchmarking é provavelmente o melhor com a ferramenta de benchmark fio com o mecanismo libaio.