Testar a taxa de transferência de rede de VMs usando NTTTCP
Este artigo descreve como usar a ferramenta NTTTCP gratuita da Microsoft para testar a largura de banda de rede e o desempenho da taxa de transferência em VMs (máquinas virtuais) do Windows ou Linux no Azure. Uma ferramenta como a NTTTCP direciona a rede para teste e minimiza o uso de outros recursos que podem afetar o desempenho.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Duas máquinas virtuais do 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 emissora e receptora. As duas VMs devem estar no mesmo grupo de posicionamento por proximidade ou conjunto de disponibilidade, para você poder 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 receptora a serem usados nos comandos. Os comandos de emissor e receptor usam o endereço IP do receptor.
Observação
O teste usando um IP virtual é possível, mas está além do escopo desse artigo.
Exemplos usados neste artigo
Configuração | Valor |
---|---|
Endereço IP da VM do receptor | 10.0.0.5 |
Quantidade de núcleos de VM | 2 |
Teste da taxa de transferência com VMs do Windows ou Linux
Você pode testar a taxa de transferência de VMs do Windows usando NTTTCP ou VMs do Linux usando NTTTCP-para-Linux.
Preparar VMs e instalar o NTTTCP-para-Windows
Nas VMs emissoras e receptoras, 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 em que ntttcp.exe foi baixado.
Na VM receptora, crie uma regra
allow
no Windows Firewall para permitir a chegada de tráfego do NTTTCP. É mais fácil permitir o programa ntttcp.exe pelo nome, em vez de permitir a entrada de portas TCP específicas. Execute o comando a seguir, substituindoc:\tools
pelo 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
Para confirmar a configuração, use os seguintes comandos para testar um fluxo TCP (Protocolo TCP) único por 10 segundos nas máquinas virtuais receptor e remetente:
VM do receptor
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
Observação
Use os comandos anteriores apenas para a configuração de teste.
Dica
Ao executar o teste pela primeira vez para verificar a configuração, use um teste de curta duração para obter resultados rápidos. Depois que a ferramenta estiver 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 emissora e receptora. A emissora e a receptora devem especificar a mesma duração de teste para o parâmetro -t
.
Na VM receptora, execute o comando a seguir, substituindo os espaços reservados
<number of VM cores>
e<receiver IP address>
pelos 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 emissora, execute o comando a seguir. Os comandos da emissora e receptora diferem apenas no parâmetro
-s
ou-r
que designa a VM emissora ou receptora.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.
Ao concluir o teste, 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
Teste da taxa de transferência entre uma VM do Windows e uma VM do Linux
Para executar testes de taxa de transferência NTTTCP entre uma VM do Windows e uma VM do Linux, habilite o modo sem sincronização usando o sinalizador -ns
no Windows ou o sinalizador -N
no Linux.
Para testar com a VM do Windows como receptora, 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 emissora, execute o seguinte comando:
ntttcp -s -m [<number of VM cores> x 2],*,<Linux VM IP address> -ns -t 300