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
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.