Quando uma máquina virtual Windows no vSphere transmite grandes pacotes UDP, a taxa de transferência é menor do que o esperado ou oscila, mesmo quando o outro tráfego é insignificante.
Problema
Quando uma máquina virtual Windows transmite pacotes UDP maiores que 1024 bytes, você tem uma taxa de transferência menor do que a esperada ou oscilante, mesmo quando o outro tráfego é insignificante. No caso de um servidor de streaming de vídeo, a reprodução do vídeo é pausada.
Causa
Para cada pacote UDP maior que 1024 bytes, a pilha de rede do Windows aguarda uma interrupção de conclusão de transmissão antes de enviar o próximo pacote. O vSphere não fornece uma solução alternativa transparente para a situação.
Solução
- Aumente o limite em bytes no qual o Windows altera seu comportamento para pacotes UDP, modificando o registro do sistema operacional convidado do Windows.
- Localize a chave de registro HKLM \ System \ CurrentControlSet \ Services \ Afd \ Parameters .
- Adicione um valor com o nome FastSendDatagramThreshold do tipo DWORD igual a 1500.
- Modifique as configurações de união da NIC da máquina virtual.
Se a máquina virtual do Windows tiver um adaptador VMXNET3 vNIC, configure um dos seguintes parâmetros no arquivo
.vmx da máquina virtual. Use o
vSphere Client ou modifique diretamente o arquivo
.vmx .
Ação |
Parâmetro |
Valor |
Aumente a taxa de interrupção da máquina virtual para uma taxa maior do que a taxa de pacotes esperada. Por exemplo, se a taxa de pacotes esperada for 15000 interrupções por segundo, defina a taxa de interrupção para 16000 interrupções por segundo. Defina o parâmetro ethernetX.coalescingScheme como rbc e o parâmetro ethernetX.coalescingParams como 16000 . A taxa de interrupção padrão é de 4000 interrupções por segundo. |
ethernetX.coalescingScheme ethernetX.coalescingParams |
rbc 16000 |
Desative a união para cargas de trabalho sensíveis à latência ou baixa taxa de transferência. Para obter informações sobre como configurar cargas de trabalho de baixa latência, consulte Best Practices for Performance Tuning of Latency-Sensitive Workloads in vSphere VMs . |
ethernetX.coalescingScheme |
desabilitado |
Reverta para o algoritmo de união de versões anteriores do ESXi.
Observação: A capacidade de reverter para o algoritmo anterior não estará disponível em versões posteriores do vSphere.
|
ethernetX.coalescingScheme |
Calibrar |
X ao lado de ethernet representa o número de sequência do vNIC na máquina virtual.
Para obter mais informações sobre como configurar parâmetros no arquivo .vmx , consulte a documentação do Administração da Máquina Virtual do vSphere .
- Modifique as configurações de união do host de ESXi.
Essa abordagem afeta todas as máquinas virtuais e todas as NICs de máquina virtual no host.
Você pode editar a lista de configurações avançadas do sistema para o host no vSphere Client ou usando um comando do console do vCLI no host do ESXi Shell.
Ação |
Parâmetro no vSphere Client |
Parâmetro para o comando esxcli system settings sdvanced set |
Valor |
Defina uma taxa de interrupção padrão maior do que a taxa de pacotes esperada. Por exemplo, defina a taxa de interrupção para 16000 se 15000 interrupções forem esperadas por segundo. |
Net.CoalesceScheme Net.CoalesceParams |
/Net/CoalesceScheme /Net/CoalesceParams |
rbc 16000 |
Desative a união para cargas de trabalho sensíveis à latência ou baixa taxa de transferência. Para obter informações sobre como configurar cargas de trabalho de baixa latência, consulte Best Practices for Performance Tuning of Latency-Sensitive Workloads in vSphere VMs . |
Net.CoalesceDefaultOn |
/Net/CoalesceDefaultOn |
0 |
Reverta para o esquema de união de versões anteriores do ESXi.
Observação: A capacidade de reverter para o algoritmo anterior não estará disponível em versões posteriores do vSphere.
|
Net.CoalesceScheme |
/Net/CoalesceScheme |
Calibrar |
Para obter informações sobre como configurar um host do vSphere Client, consulte a documentação do vCenter Server e Gerenciamento de Host . Para obter informações sobre como definir propriedades do host usando um comando vCLI, consulte a documentação do Referência de ESXCLI .