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

Atenção

Este artigo faz referência ao CentOS, uma distribuição Linux que está se aproximando do status de Fim da Vida Útil (EOL). Por favor, considere o seu uso e planeje de acordo. Para obter mais informações, consulte as diretrizes de Fim da Vida Útil do CentOS.

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

O teste usando um IP virtual (VIP) é 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