Partilhar via


Testar a taxa de transferência de rede da máquina virtual usando NTTTCP

Este artigo explica como usar a ferramenta gratuita NTTTCP da Microsoft para testar a largura de banda e o desempenho de transmissão em máquinas virtuais Windows ou Linux no Azure. Uma ferramenta como o NTTTCP direciona-se à rede para testes e minimiza o uso de outros recursos que poderiam afetar o desempenho.

Pré-requisitos

  • Uma conta Azure com uma subscrição ativa. Crie uma conta gratuitamente.
  • Duas máquinas virtuais Windows ou Linux no Azure. Crie uma máquina virtual do Windows ou crie uma máquina virtual do Linux.
    • Para testar a capacidade de transmissão, necessita de duas VMs do mesmo tamanho para funcionarem como emissor e recetor. As duas VMs devem estar no mesmo grupo de posicionamento de proximidade ou conjunto de disponibilidade, para que possa usar seus endereços IP internos e excluir os balanceadores de carga do teste.
    • Observe o número de núcleos de VM e o endereço IP da VM do recetor para os comandos. Tanto os comandos do remetente como os do receptor usam o endereço IP do receptor.

Nota

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

Exemplos usados neste artigo

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

Testar o rendimento 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.

Prepare as VMs e instale o NTTTCP-para-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 comandos do Windows e vá para a pasta onde transferiu ntttcp.exe.

  3. Na VM de receção, crie uma regra no Firewall do Windows allow para permitir a chegada do tráfego NTTTCP. É mais fácil permitir nttcp.exe pelo nome do que permitir portas TCP específicas de entrada. Execute o seguinte comando, substituindo c:\tools pelo seu caminho de download para ntttcp.exe, se for 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:

    Máquina Virtual Receptora

    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

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

    Sugestão

    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 que a ferramenta está a funcionar, prolongue a duração do teste para 300 segundos para obter os resultados mais precisos.

Executar testes de desempenho

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 <number of VM cores> e os <receiver IP address>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 destinatário diferem apenas no parâmetro -s ou -r que designa a VM do remetente ou do destinatário.

    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. Espere pelos resultados.

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

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

Testar a largura de banda entre uma VM Windows e uma VM Linux

Para executar testes de throughput do NTTTCP entre uma VM Windows e uma VM Linux, ative o modo sem sincronização, utilizando a flag -ns no Windows ou a flag -N no Linux.

Para testar com a VM do Windows como receptor, 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