Testar a taxa de transferência de rede de VMs usando NTTTCP
Cuidado
Este artigo faz referência ao CentOS, uma distribuição do Linux que está se aproximando do status de EOL (fim da vida útil). Considere seu uso e planeje adequadamente. Para obter mais informações, veja as Diretrizes sobre fim da vida útil do CentOS.
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 (VIP) é possível, mas está além do escopo deste 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