Testar a taxa de transferência da rede VM usando NTTTCP

Este artigo descreve como usar a ferramenta NTTTCP gratuita da Microsoft para testar o desempenho da largura de banda e da taxa de transferência da rede em máquinas virtuais (VMs) Windows ou Linux do Azure. Uma ferramenta como o NTTTCP tem como alvo a rede para testes e minimiza o uso de outros recursos que podem afetar o desempenho.

Pré-requisitos

  • Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
  • Duas máquinas virtuais Windows ou Linux no Azure. Crie uma VM do Windows ou crie uma VM do Linux.
    • Para testar a taxa de transferência, você precisa de duas VMs do mesmo tamanho para funcionar como remetente e recetor. As duas VMs devem estar no mesmo grupo de posicionamento de proximidade ou conjunto de disponibilidade, para que você possa usar seus endereços IP internos e excluir balanceadores de carga do teste.
    • Observe o número de núcleos de VM e o endereço IP da VM do recetor a ser usado nos comandos. Os comandos do emissor e do recetor usam o endereço IP do recetor.

Nota

Testar usando um IP virtual é possível, mas está além do escopo deste artigo.

Exemplos utilizados neste artigo

Definição Value
Endereço IP da VM do recetor 10.0.0.5
Número de núcleos de VM 2

Taxa de transferência de teste com VMs do Windows ou VMs do Linux

Você pode testar a taxa de transferência de VMs do Windows usando NTTTCP ou de VMs Linux usando NTTTCP-for-Linux.

Preparar VMs e instalar NTTTCP-for-Windows

  1. Nas VMs do remetente e do recetor, baixe a versão mais recente do NTTTCP em uma pasta separada, como c:\tools.

  2. Abra a linha de comando do Windows e navegue até a pasta onde você baixou ntttcp.exe.

  3. Na VM do recetor, crie uma regra do Firewall allow do Windows para permitir que o tráfego NTTTCP chegue. É mais fácil permitir nttcp.exe pelo nome do que permitir portas TCP de entrada específicas. Execute o seguinte comando, substituindo c:\tools pelo caminho de download para ntttcp.exe se diferente.

    netsh advfirewall firewall add rule program=c:\tools\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY
    
  4. Para confirmar sua configuração, use os seguintes comandos para testar um único fluxo TCP (Transfer Control Protocol) por 10 segundos nas máquinas virtuais do recetor e do remetente:

    VM do recetor

    ntttcp -r -m [<number of VM cores> x 2],*,<receiver IP address> -t 10 -P 1

    ntttcp -r -m 4,*,10.0.0.5 -t 10 -P 1
    

    VM do remetente

    ntttcp -s -m [<number of VM cores> x 2],*,<receiver IP address> -t 10 -P 1

    ntttcp -s -m 4,*,10.0.0.5 -t 10 -P 1
    

    Nota

    Use os comandos anteriores apenas para testar a configuração.

    Gorjeta

    Quando você executar o teste pela primeira vez para verificar a configuração, use uma curta duração de teste para obter feedback rápido. Depois de verificar se a ferramenta está funcionando, estenda a duração do teste para 300 segundos para obter os resultados mais precisos.

Executar testes de taxa de transferência

Execute o teste por 300 segundos, ou cinco minutos, nas VMs do remetente e do recetor. O emissor e o recetor devem especificar a mesma duração de teste para o -t parâmetro.

  1. Na VM recetora, execute o seguinte comando, substituindo os espaços reservados e <receiver IP address> e os <number of VM cores>seus próprios valores.

    ntttcp -r -m [<number of VM cores> x 2],*,<receiver IP address> -t 300

    ntttcp -r -m 4,*,10.0.0.5 -t 300
    
  2. Na VM do remetente, execute o seguinte comando. Os comandos do remetente e do recetor diferem apenas no parâmetro ou -r que designa -s a VM do remetente ou do recetor.

    ntttcp -s -m [<number of VM cores> x 2],*,<receiver IP address> -t 300

    ntttcp -s -m 4,*,10.0.0.5 -t 300
    
  3. Aguarde os resultados.

Quando o teste estiver concluído, a saída deve ser semelhante ao exemplo a seguir:

C:\tools>ntttcp -s -m 4,*,10.0.0.5 -t 300
Copyright Version 5.39
Network activity progressing...


Thread  Time(s) Throughput(KB/s) Avg B / Compl
======  ======= ================ =============
     0  300.006        29617.328     65536.000
     1  300.006        29267.468     65536.000
     2  300.006        28978.834     65536.000
     3  300.006        29016.806     65536.000


#####  Totals:  #####


   Bytes(MEG)    realtime(s) Avg Frame Size Throughput(MB/s)
================ =========== ============== ================
    34243.000000     300.005       1417.829          114.141


Throughput(Buffers/s) Cycles/Byte       Buffers
===================== =========== =============
             1826.262       7.036    547888.000


DPCs(count/s) Pkts(num/DPC)   Intr(count/s) Pkts(num/intr)
============= ============= =============== ==============
     4218.744         1.708        6055.769          1.190


Packets Sent Packets Received Retransmits Errors Avg. CPU %
============ ================ =========== ====== ==========
    25324915          2161992       60412      0     15.075

Taxa de transferência de teste entre uma VM do Windows e uma VM do Linux

Para executar testes de taxa de transferência NTTTCP entre uma VM Windows e uma VM Linux, habilite o modo sem sincronização usando o -ns sinalizador no Windows ou o -N sinalizador no Linux.

Para testar com a VM do Windows como recetor, execute o seguinte comando:

ntttcp -r -m [<number of VM cores> x 2],*,<Linux VM IP address> -t 300

Para testar com a VM do Windows como remetente, execute o seguinte comando:

ntttcp -s -m [<number of VM cores> x 2],*,<Linux VM IP address> -ns -t 300

Próximos passos