Largura de banda/débito testes (NTTTCP)Bandwidth/Throughput testing (NTTTCP)

Ao testar o desempenho de taxa de transferência de rede no Azure, é melhor usar uma ferramenta destina-se a rede para fins de teste e minimiza o uso de outros recursos que podem afetar o desempenho.When testing network throughput performance in Azure, it's best to use a tool that targets the network for testing and minimizes the use of other resources that could impact performance. Recomenda-se NTTTCP.NTTTCP is recommended.

Copie a ferramenta para duas VMs do Azure do mesmo tamanho.Copy the tool to two Azure VMs of the same size. Uma VM funciona como remetente e o outro como receptor.One VM functions as SENDER and the other as RECEIVER.

Implementação de VMs para testeDeploying VMs for testing

Para efeitos deste teste, as duas VMs devem ser no mesmo serviço Cloud ou no mesmo conjunto de disponibilidade, de modo que podemos usar dos respetivos IPs interno e excluir os balanceadores de carga do teste.For the purposes of this test, the two VMs should be in either the same Cloud Service or the same Availability Set so that we can use their internal IPs and exclude the Load Balancers from the test. É possível testar com o VIP, mas esse tipo de teste está fora do escopo deste documento.It is possible to test with the VIP but this kind of testing is outside the scope of this document.

Tome nota do endereço IP do receptor.Make a note of the RECEIVER's IP address. Vamos chamar esse IP "a.b.c.r"Let's call that IP "a.b.c.r"

Anote o número de núcleos na VM.Make a note of the number of cores on the VM. Vamos chamá-lo "#núm_núcleos"Let's call this "#num_cores"

Execute o teste NTTTCP para 300 segundos (ou 5 minutos) na VM do remetente e receptor de VM.Run the NTTTCP test for 300 seconds (or 5 minutes) on the sender VM and receiver VM.

Sugestão: Ao configurar este teste pela primeira vez, poderia tentar um período de teste mais curto para obter comentários mais cedo.Tip: When setting up this test for the first time, you might try a shorter test period to get feedback sooner. Quando a ferramenta está a funcionar conforme esperado, alargar o período de teste a 300 segundos para os resultados mais precisos.Once the tool is working as expected, extend the test period to 300 seconds for the most accurate results.

Nota

O remetente e recetor tem de especificar o mesmo testar o parâmetro de duração (-t).The sender and receiver must specify the same test duration parameter (-t).

Para testar um único fluxo TCP para 10 segundos:To test a single TCP stream for 10 seconds:

Parâmetros do receptor: ntttcp - r -t 10 - P 1Receiver parameters: ntttcp -r -t 10 -P 1

Parâmetros de remetente: ntttcp-s10.27.33.7 -t 10 - n 1 -P 1Sender parameters: ntttcp -s10.27.33.7 -t 10 -n 1 -P 1

Nota

O exemplo anterior só deve ser utilizado para confirmar a sua configuração.The preceding sample should only be used to confirm your configuration. Exemplos válidos de teste serão abordados mais adiante neste documento.Valid examples of testing are covered later in this document.

Teste de VMs que executam o WINDOWS:Testing VMs running WINDOWS:

Obtenha NTTTCP para as VMs.Get NTTTCP onto the VMs.

Baixe a versão mais recente: https://gallery.technet.microsoft.com/NTttcp-Version-528-Now-f8b12769Download the latest version: https://gallery.technet.microsoft.com/NTttcp-Version-528-Now-f8b12769

Ou procure-se movido: https://www.bing.com/search?q=ntttcp+download < – deve ser atingido pela primeira vezOr search for it if moved: https://www.bing.com/search?q=ntttcp+download< -- should be first hit

Considere colocar NTTTCP na pasta separada, como c:\ferramentasConsider putting NTTTCP in separate folder, like c:\tools

Permitir NTTTCP através da firewall do WindowsAllow NTTTCP through the Windows firewall

No receptor, crie uma regra de permissão na Firewall do Windows para permitir o tráfego NTTTCP a chegada.On the RECEIVER, create an Allow rule on the Windows Firewall to allow the NTTTCP traffic to arrive. É mais fácil permitir que o programa NTTTCP inteiro por nome em vez de permitir que portas específicas do TCP de entrada.It's easiest to allow the entire NTTTCP program by name rather than to allow specific TCP ports inbound.

Permitir ntttcp através da Firewall do Windows como este:Allow ntttcp through the Windows Firewall like this:

netsh advfirewall firewall adicionar programa da regra =<caminho>\ntttcp.exe nome = "ntttcp" protocolo = qualquer dir = em ação = permitir enable = yes profile = ANYnetsh advfirewall firewall add rule program=<PATH>\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY

Por exemplo, se copiou ntttcp.exe para o "c:\ferramentas" pasta, isso seria o comando:For example, if you copied ntttcp.exe to the "c:\tools" folder, this would be the command: 

netsh advfirewall firewall adicionar programa da regra = c:\ferramentas\ntttcp.exe nome = "ntttcp" protocolo = qualquer dir = em ação = permitir enable = yes profile = ANYnetsh advfirewall firewall add rule program=c:\tools\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY

Testes NTTTCP em execuçãoRunning NTTTCP tests

Iniciar NTTTCP no receptor (execute a partir de CMD, não a partir do PowerShell):Start NTTTCP on the RECEIVER (run from CMD, not from PowerShell):

ntttcp -r –m [2*#num_cores],*,a.b.c.r -t 300ntttcp -r –m [2*#num_cores],*,a.b.c.r -t 300

Se a VM tem quatro núcleos e um endereço IP de 10.0.0.4, ficaria assim:If the VM has four cores and an IP address of 10.0.0.4, it would look like this:

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

Iniciar NTTTCP no remetente (execute a partir de CMD, não a partir do PowerShell):Start NTTTCP on the SENDER (run from CMD, not from PowerShell):

ntttcp -s –m 8,*,10.0.0.4 -t 300ntttcp -s –m 8,*,10.0.0.4 -t 300 

Aguarde que os resultados.Wait for the results.

Teste de VMs em execução no LINUX:Testing VMs running LINUX:

Utilizar o nttcp para linux.Use nttcp-for-linux. Está disponível a partir de https://github.com/Microsoft/ntttcp-for-linuxIt is available from https://github.com/Microsoft/ntttcp-for-linux

Em VMs do Linux (remetente e destinatário), execute estes comandos para preparar ntttcp-para-linux nas suas VMs:On the Linux VMs (both SENDER and RECEIVER), run these commands to prepare ntttcp-for-linux on your VMs:

CentOS - Install Git:CentOS - Install Git:

  yum install gcc -y  
  yum install git -y

Ubuntu - Install Git:Ubuntu - Install Git:

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

Faça e instalar em ambos:Make and Install on both:

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

Como no exemplo do Windows, partimos do princípio de que IP do RECETOR de Linux está 10.0.0.4As in the Windows example, we assume the Linux RECEIVER's IP is 10.0.0.4

Inicie NTTTCP-para-Linux no receptor:Start NTTTCP-for-Linux on the RECEIVER:

ntttcp -r -t 300

E no remetente, execute:And on the SENDER, run:

ntttcp -s10.0.0.4 -t 300

  Recebe o teste comprimento assume a predefinição de 60 segundos, se nenhum parâmetro de tempoTest length defaults to 60 seconds if no time parameter is given

Teste de entre as VMs que executam o Windows e LINUX:Testing between VMs running Windows and LINUX:

Sobre este cenários devemos habilitar o modo sem sincronização para que pode executar o teste.On this scenarios we should enable the no-sync mode so the test can run. Isso é feito utilizando o sinalizador -N para o Linux, e sinalizador -ns para Windows.This is done by using the -N flag for Linux, and -ns flag for Windows.

Do Linux ao Windows:From Linux to Windows:

Receiver <Windows>:Receiver <Windows>:

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

Remetente <Linux >:Sender <Linux> :

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

Do Windows para Linux:From Windows to Linux:

Recetor <Linux >:Receiver <Linux>:

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

Remetente <Windows >:Sender <Windows>:

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

Teste as instâncias de serviço Cloud:Testing Cloud Service Instances:

Precisa adicionar o seguinte secção em sua servicedefinition. CsdefYou need to add following section into your ServiceDefinition.csdef

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

Passos SeguintesNext steps