Compartilhar via


Hyper-V (2016, 2012) Troubleshooting: Problema de Performance e enfileiramento de VM

Hoje estamos trazendo um problema que pode acontecer em seu ambiente que é a lentidão ou de todas as suas máquinas Virtuais dentro do Hyper-V ou em algumas, onde por exemplo o ping para o Hospedeiro está normal, mas para dentro do host está extremamente lento.

Isso pode acontecer se você esta usando NIC TEAM também, seja usando Switch Independente ou Dependente ou LACP.

Agora porque desse comportamento? Conforme todas as documentações da Microsoft isso deve-se porque alguma problema de Hardware mais precisamente Discos, Raid´s, controladoras até a placa de sistema (placa mãe).

Mais e agora como vamos tocar o ambiente e operacionalizar? É onde entra o VMQ (Virtual Machine Queue).  Em suma, ele aumenta o rendimento global para VMs, transferindo o processamento de rede virtual ao adaptador físico.

Usando VMQ (Virtual Machine Queue) requer a presença de sub-chaves e valores de registro no sistema operacional de gerenciamento. Os sub-chaves de registo permitir VMQ na rede virtual. Um registro sub-chave diferente é necessário para 10 Gbps adaptadores de rede física e de adaptadores de rede física menos de 10 Gbps (tipicamente 1 Gbps). Os adaptadores de rede deve suportar VMQ. Se o computador do sistema operacional de gerenciamento tem uma mistura de adaptadores de rede, por exemplo, um adaptador de rede de 1 Gbps e 10 Gbps adaptador de rede e ambos são capazes de VMQ, você pode adicionar os dois sub-chaves e valores.

https://i-technet.sec.s-msft.com/dynimg/IC1429.gifCuidado
A edição incorreta do Registro pode causar danos graves ao sistema. Antes de alterar o Registro, faça backup de todos os dados importantes do computador.

Registry sub-keys para VMQ

Registry subkey Purpose Type Values
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\

services\VMSMP\Parameters\

TenGigVmqEnabled

Enable or disable VMQ on all 10 Gbps physical network adapters REG_DWORD 0=System default (disabled for Windows Server 2008 R2)

1=Enabled

2=Explicitly disabled

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\

services\VMSMP\Parameters\

BelowTenGigVmqEnabled

Enable or disable VMQ on all physical network adapters less than 10 Gbps REG_DWORD 0=System default (disabled for Windows Server 2008 R2)

1=Enabled

2=Explicitly disabled

To enable VMQ on a management operating system with physical network adapters less than 10 Gbps

  1. Para abrir uma janela de Prompt de Comando privilegiada, clique em Iniciar, aponte para Todos os Programas, clique em Acessórios, clique com o botão direito do mouse em Prompt de Comando e clique em Executar como administrador.
  2. Type reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters /v BelowTenGigVmqEnabled /t REG_DWORD /d 1 /f and then press ENTER.
Cuidado
Virtual machine queues should not be used on 1 Gbps network adapters without interrupt coalescing. Modify the registry for interrupt coalescing according to the instructions in Tuning VMQ with interrupt coalescing.

To enable VMQ on a management operating system with 10 Gbps physical network adapters

  1. Para abrir uma janela de Prompt de Comando privilegiada, clique em Iniciar, aponte para Todos os Programas, clique em Acessórios, clique com o botão direito do mouse em Prompt de Comando e clique em Executar como administrador.
  2. Type reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters /v TenGigVmqEnabled /t REG_DWORD /d 1 /f and then press ENTER.

 Desligar VMQ com Interrupção

O adaptador de rede oferece interrupções para o sistema operacional de gerenciamento  para cada VMQ no processador processador baseado VMQ afinidade. Se as interrupções estão espalhados por muitos processadores, o número de interrupções entregues pode crescer substancialmente, até que a sobrecarga de manipulação de interrupção pode superar o benefício de usar VMQ. Para reduzir o número de interrupções usadas, a Microsoft tem incentivado os fabricantes de adaptador de rede para a concepção de coalescência de interrupção, também chamado de  interrupções compartilhadas. Usando interrupções compartilhadas, o adaptador de rede processa várias filas  com a mesma afinidade do processador na mesma interrupção. Isto reduz o número total  de interrupções. No momento desta publicação, todos os adaptadores de rede que suportam  VMQ  também suportam  interrupção  coalescente

Para tirar proveito da coalescência de interrupção, é recomendável que você criar sub-chaves e valores de registo de acordo com as  instruções nesta seção .

Para Habilitar 

  • Para abrir uma janela de Prompt de Comando privilegiada, clique em Iniciar, aponte para Todos os Programas, clique em Acessórios, clique com o botão direito do mouse em Prompt de Comando e clique em Executar como administrador.

  • Type regedit, and then press ENTER.

    In the Registry Editor, open the sub-key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\4D36E972-E325-11CE-BFC1-08002BE10318 and locate the sub-key for the network adapter you want to work with. Sub-keys are four numbers (for example 0003 and 0010). Make a note of it. You will need it later in this procedure.

  • Return to the elevated command prompt window.

  • At the command prompt, type the following commands based on the type of network adapter you are using. For each command, substitute the sub-key from earlier in this procedure for ID.

    1. For 1 Gbps network adapters, type reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\4D36E972-E325-11CE-BFC1-08002BE10318\ID /v *MaxRssProcessors /t REG_DWORD /d 1 /f, press ENTER, and then type reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\4D36E972-E325-11CE-BFC1-08002BE10318\ID /v *RssBaseProcNumber /t REG_DWORD /d 0 /f, and then press ENTER.

    2. For 10 Gbps network adapters, type reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\4D36E972-E325-11CE-BFC1-08002BE10318\ID /v *MaxRssProcessors /t REG_DWORD /d 3 /f, press ENTER and then type reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\4D36E972-E325-11CE-BFC1-08002BE10318\ID /v *RssBaseProcNumber /t REG_DWORD /d 0 /f

    Importante

    Se você estiver configurando mais de um adaptador de rede, cada adaptador deve ter um valor diferente atribuído à sub-chave * RssBaseProcNumber com diferença suficiente para que não haja processadores RSS sobrepostas. Por exemplo, se um adaptador de rede tem um valor de 0 atribuído a * RssBaseProcNumber e um valor de 3 atribuído a MaxRssProcessors *, adaptador de rede B deve ter um * RssBaseProcNumber  de  4 .

    Grande abraço a todos – FOL!!!