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.
    1. Localize a chave de registro HKLM \ System \ CurrentControlSet \ Services \ Afd \ Parameters .
    2. Adicione um valor com o nome FastSendDatagramThreshold do tipo DWORD igual a 1500.
    Para obter informações sobre como corrigir esse problema no registro do Windows, consulte http://support.microsoft.com/kb/235257 .
  • 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 .