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
Nas VMs do remetente e do recetor, baixe a versão mais recente do NTTTCP em uma pasta separada, como c:\tools.
Abra a linha de comando do Windows e navegue até a pasta onde você baixou ntttcp.exe.
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, substituindoc:\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
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.
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
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
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
Otimize a taxa de transferência de rede para máquinas virtuais do Azure.
Largura de banda da rede da máquina virtual.