Testes de largura de banda/produção (NTTTCP)

Ao testar o desempenho da produção da rede em Azure, o melhor é usar uma ferramenta que direcione a rede para testes e minimize o uso de outros recursos que possam ter impacto no desempenho. Recomenda-se o NTTTCP.

Copie a ferramenta para dois VMs Azure do mesmo tamanho. Um VM funciona como SENDER e o outro como RECETOR.

Implantação de VMs para testes

Para efeitos deste teste, os dois VMs devem estar no mesmo Grupo de Colocação de Proximidade ou no mesmo Conjunto de Disponibilidade para que possamos utilizar os seus IPs internos e excluir os Balançadores de Carga do teste. É possível testar com o VIP, mas este tipo de testes está fora do âmbito deste documento.

Tome nota do endereço IP do RECETOR. Vamos chamar o IP de "a.b.c.r"

Tome nota do número de núcleos no VM. Vamos chamar isto de # _ "núcleos num".

Escote o teste NTTTCP durante 300 segundos (ou 5 minutos) no VM e no recetor VM.

Sugestão: Ao configurar este teste pela primeira vez, poderá tentar um período de teste mais curto para obter feedback mais cedo. Uma vez que a ferramenta funcione como esperado, estenda o período de teste para 300 segundos para obter os resultados mais precisos.

Nota

O remetente e o recetor devem especificar o mesmo parâmetro de duração do teste (-t).

Para testar uma única corrente de TCP durante 10 segundos:

Parâmetros do recetor: ntttcp -r -t 10 -P 1

Parâmetros remetentes: ntttcp -s10.27.33.7 -t 10 -n 1 -P 1

Nota

A amostra anterior só deve ser utilizada para confirmar a sua configuração. Exemplos válidos de testes são cobertos mais tarde neste documento.

Teste de VMs em execução WINDOWS:

Coloca o NTTTCP nos VMs.

Descarregue a versão mais recente: https://github.com/microsoft/ntttcp/releases/download/v5.35/NTttcp.exe

Ou ver a página gitHub de alto nível: https://github.com/microsoft/ntttcp\

Considere colocar o NTTTCP numa pasta separada, como c: \ ferramentas

Permitir o NTTTCP através da firewall do Windows

No RECETOR, crie uma regra de permitir a chegada do tráfego NTTTCP. É mais fácil permitir todo o programa NTTTCP pelo nome em vez de permitir a entrada de portas TCP específicas.

Permitir que o NTTTCP passe pela Firewall do Windows desta forma:

netsh advfirewall firewall adicionar programa de regra= <PATH> \ntttcp.exe nome="ntttcp" protocolo=any dir=in action=allow enable=yes profile=ANY

Por exemplo, se copiasse ntttcp.exe para a pasta "c: \ ferramentas", este seria o comando:

netsh advfirewall firewall adicionar programa de regra=c: \ ferramentas \ntttcp.exe protocolo de nome="ntttcp" =qualquer dir=em ação=permitir ativar=sim perfil=ANY

Realização de testes NTTTCP

Iniciar o NTTTCP no recetor (executado a partir de CMD, não de PowerShell):

ntttcp -r -m [2 * # _ núcleos num], * a.b.c.r -t 300

Se o VM tiver quatro núcleos e um endereço IP de 10.0.0.4, seria assim:

ntttcp -r -m 8, * ,10.0.0.4 -t 300

Iniciar ntTTCP no SENDER (executado a partir de CMD, não de PowerShell):

NTTTCP -s -m 8, * 10.0.0.4 -t 300

Espere pelos resultados.

Teste de VMs em execução LINUX:

Use nttcp-for-linux. Está disponível a partir de https://github.com/Microsoft/ntttcp-for-linux

Nos VMs Linux (tanto SENDER como RECETOR), execute estes comandos para preparar o ntttcp-for-linux nos seus VMs:

CentOS - Instalar gcc e git:

  yum install gcc -y  
  yum install git -y

Ubuntu - Instalar construção-essencial e git:

 apt-get -y install build-essential  
 apt-get -y install git

SUSE - Instale git-core, gcc, e faça:

  zypper in -y git-core gcc make

Fazer e instalar em ambos:

 git clone https://github.com/Microsoft/ntttcp-for-linux
 cd ntttcp-for-linux/src
 make && make install

Como no exemplo do Windows, assumimos que o IP do recetor Linux é de 10.0.0.4

Iniciar o NTTTCP-for-Linux no RECETOR:

ntttcp -r -t 300

E no REMETENTE, corra:

ntttcp -s10.0.0.4 -t 300

O comprimento do teste não pode ser de 60 segundos se não for dado nenhum parâmetro de tempo

Testes entre VMs em execução Windows e LINUX:

Nestes cenários, devemos ativar o modo de não sincronização para que o teste possa ser executado. Isto é feito usando a bandeira -N para Linux, e -ns bandeira para Windows.

De Linux a Windows:

<Windows>Recetor:

ntttcp -r -m <2 x nr cores>,*,<Windows server IP>

<Linux>Remetente:

ntttcp -s -m <2 x nr cores>,*,<Windows server IP> -N -t 300

Das janelas a Linux:

<Linux>Recetor:

ntttcp -r -m <2 x nr cores>,*,<Linux server IP>

<Windows>Remetente:

ntttcp -s -m <2 x nr cores>,*,<Linux  server IP> -ns -t 300

Testar instâncias de serviço em nuvem:

Tem de adicionar a seguinte secção no seu ServiceDefinition.csdef

<Endpoints>
  <InternalEndpoint name="Endpoint3" protocol="any" />
</Endpoints> 

Passos seguintes