Quando uma máquina virtual Windows em vSphere transmite grandes pacotes UDP, o rendimento é menor do que o esperado ou está oscilando mesmo quando outro tráfego é insignificante.

Problema

Quando uma máquina virtual Windows transmite pacotes UDP maiores que 1.024 bytes, você experimenta uma taxa de transferência menor do que o esperado ou oscilante, mesmo quando 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 1.024 bytes, a pilha de rede Windows aguarda uma interrupção de conclusão de transmissão antes de enviar o próximo pacote. vSphere não fornece uma solução alternativa transparente para a situação.

Solução

  • Aumente o limite em bytes no qual Windows altera seu comportamento para pacotes UDP modificando o registro do sistema operacional convidado 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 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 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 de pacote mais alta do que a esperada. Por exemplo, se a taxa de pacotes esperada for de 15.000 interrupções por segundo, defina a taxa de interrupção como 16.000 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 4.000 interrupções por segundo.

    ethernetX.coalescingScheme

    ethernetX.coalescingParams

    rbc

    16000

    Desative a coalescência para cargas de trabalho de baixa taxa de transferência ou sensíveis à latência. Para obter informações sobre como configurar cargas de trabalho de baixa latência, consulte Práticas recomendadas para ajuste de desempenho de cargas de trabalho sensíveis à latência em vSphereVMs. ethernetX.coalescingScheme desativado

    Reverta para o algoritmo de união das versões ESXi anteriores.

    Observação: A capacidade de reverter para o algoritmo anterior não estará disponível nas versões vSphere posteriores.
    ethernetX.coalescingScheme calibrar

    X ao lado de ethernet representa o número de sequência da vNIC na máquina virtual.

    Para obter mais informações sobre como configurar parâmetros no arquivo .vmx, consulte a vSphere Administração de máquina virtualdocumentação.

  • Modifique as configurações de coalescência do host ESXi.
    Essa abordagem afeta todas as máquinas virtuais e todas as NICs de máquinas virtuais no host.

    Você pode editar a lista de configurações avançadas do sistema para o host no vSphere Client ou usando um comando de 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 superior à taxa de pacote esperada. Por exemplo, defina a taxa de interrupção como 16.000 se forem esperadas 15.000 interrupções por segundo.

    Net.CoalesceScheme

    Net.CoalesceParams

    /Net/CoalesceScheme

    /Net/CoalesceParams

    rbc

    16000

    Desative a coalescência para cargas de trabalho de baixa taxa de transferência ou sensíveis à latência. Para obter informações sobre como configurar cargas de trabalho de baixa latência, consulte Práticas recomendadas para ajuste de desempenho de cargas de trabalho sensíveis à latência em vSphereVMs. Net.CoalesceDefaultOn /Net/CoalesceDefaultOn 0

    Reverta para o esquema de união das versões ESXi anteriores.

    Observação: A capacidade de reverter para o algoritmo anterior não estará disponível nas versões vSphere posteriores.
    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 configurar propriedades do host usando um comando vCLI, consulte a documentação do Referência de ESXCLI.