Testar a latência de rede entre VMs do Azure

Cuidado

Este artigo faz referência ao CentOS, uma distribuição do Linux que está se aproximando do status de EOL (fim da vida útil). Considere seu uso e planeje adequadamente. Para obter mais informações, veja as Diretrizes sobre fim da vida útil do CentOS.

Este artigo descreve como testar a latência de rede entre máquinas virtuais (VMs) do Azure por meio das ferramentas disponíveis publicamente Latte para Windows ou SockPerf para Linux.

Para obter os resultados mais precisos, você deve medir a latência de rede da VM com uma ferramenta projetada para a tarefa e que exclui outros tipos de latência, como latência do aplicativo. O Latte e o SockPerf fornecem os resultados de latência de rede mais relevantes, concentrando-se nos tráfegos Protocolo de Controle de Transmissão (TCP) e Protocolo de Datagrama do Usuário (UDP). A maioria dos aplicativos usa esses protocolos e esse tipo de tráfego tem o maior efeito no desempenho do aplicativo.

Muitas outras ferramentas comuns de teste de latência de rede, como Ping, não medem o tráfego TCP ou UDP. Ferramentas como Ping usam Protocolo de Mensagens de Controle de Internet (ICMP), que os aplicativos não usam. O tráfego ICMP pode ser tratado de forma diferente do tráfego do aplicativo e não afeta diretamente o desempenho do aplicativo. Os resultados do teste ICMP não se aplicam diretamente a cargas de trabalho que usam TCP e UDP.

O Latte e o SockPerf medem apenas os tempos de entrega de carga TCP ou UDP. Essas ferramentas usam a seguinte abordagem para medir a latência de rede entre dois computadores físicos ou virtuais:

  1. Crie um canal de comunicação bidirecional entre os computadores designando um como remetente e outro como receptor.
  2. Envie e receba pacotes em ambas as direções e meça o tempo de ida e volta (RTT).

Dicas e práticas recomendadas para otimizar a latência de rede

Para otimizar as VMs para latência de rede, observe as seguintes recomendações ao criar as VMs:

Use as seguintes práticas recomendadas para testar e analisar a latência de rede:

  1. Assim que terminar de implantar, configurar e otimizar as VMs de rede, faça medições de latência de rede de linha de base entre as VMs implantadas para estabelecer parâmetros de comparação.

  2. Teste os efeitos na latência de rede para alterar qualquer um dos seguintes componentes:

    • Software do sistema operacional (SO) ou pilha de rede, incluindo alterações de configuração.
    • Um método de implantação de VM, como a implantação em uma zona de disponibilidade ou em um grupo de posicionamento por proximidade (PPG).
    • Propriedades da VM, como Rede Acelerada ou alterações de tamanho.
    • Configuração de rede virtual, como alterações de roteamento ou filtragem.
  3. Sempre compare novos resultados de teste com a linha de base ou com os resultados de teste mais recentes antes das alterações controladas.

  4. Repita os testes sempre que observar ou implantar alterações.

Testar VMs com o Latte ou com o SockPerf

Use os procedimentos a seguir para instalar e testar a latência de rede com o Latte para Windows ou com o SockPerf para Linux.

Como instalar o Latte e configurar VMs

  1. Baixe a versão mais recente do latte.exe para ambas as VMs, em uma pasta separada, como c:\ferramentas.

  2. No receptor, crie uma regra de Permissão no Windows Defender Firewallallow para permitir a chegada de tráfego do Latte. É mais fácil permitir o programa latte.exe pelo nome, em vez de permitir a entrada de portas TCP específicas. No comando, substitua o espaço reservado <path> pelo caminho para o qual você baixou o latte.exe, como c:\ferramentas\.

    netsh advfirewall firewall add rule program=<path>latte.exe name="Latte" protocol=any dir=in action=allow enable=yes profile=ANY
    

Como executar o Latte nas VMs

Execute o latte.exe por meio da linha de comando do Windows, não do PowerShell.

  1. Execute o comando a seguir, substituindo os espaços reservados <receiver IP address>, <port> e <iterations> pelos seus próprios valores.

    latte -a <receiver IP address>:<port> -i <iterations>
    
    • Cerca de 65.000 iterações são o suficiente para retornar resultados representativos.
    • Pode ser qualquer número de porta disponível.

    O exemplo a seguir mostra o comando para uma VM com um endereço IP de 10.0.0.4:

    latte -a 10.0.0.4:5005 -i 65100

  2. Na VM do remetente, execute o mesmo comando que no receptor, mas com -c adicionado para indicar a VM do cliente ou remetente. Substitua os espaços reservados <receiver IP address>, <port> e <iterations> pelos seus próprios valores.

    latte -c -a <receiver IP address>:<port> -i <iterations>
    

    Por exemplo:

    latte -c -a 10.0.0.4:5005 -i 65100

  3. Aguarde os resultados. Dependendo da distância entre as VMs, a conclusão do teste pode levar alguns minutos. Considere iniciar com menos iterações para testar o sucesso antes de executar testes mais longos.

Próximas etapas