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
- 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 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
- 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 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.
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.
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!!!