Pruebas de ancho de banda y rendimiento (NTTTCP)Bandwidth/Throughput testing (NTTTCP)

Al probar el rendimiento de la red de Azure, se recomienda usar una herramienta que tenga como destino de la red para realizar pruebas y minimizar el uso de otros recursos que podrían afectar al rendimiento.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. Se recomienda NTTTCP.NTTTCP is recommended.

Copie la herramienta en dos máquinas virtuales de Azure del mismo tamaño.Copy the tool to two Azure VMs of the same size. Una máquina virtual funciona como remitente y la otra como receptora.One VM functions as SENDER and the other as RECEIVER.

Implementación de máquinas virtuales para pruebasDeploying VMs for testing

Para los fines de esta prueba, las dos máquinas virtuales deben tener el mismo servicio en la nube o el mismo conjunto de disponibilidad para que podamos usar sus direcciones IP internas y excluir los equilibradores de carga de la prueba.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. Es posible realizar pruebas con la dirección VIP, pero este tipo de pruebas está fuera del ámbito de este documento.It is possible to test with the VIP but this kind of testing is outside the scope of this document.

Tome nota de la dirección IP del DESTINATARIO.Make a note of the RECEIVER's IP address. Vamos a llamar a esa dirección IP "a.b.c.r".Let's call that IP "a.b.c.r"

Tome nota del número de núcleos de la máquina virtual.Make a note of the number of cores on the VM. Llamémoslo "#num_cores".Let's call this "#num_cores"

Ejecute la prueba NTTTCP durante 300 segundos (o 5 minutos) en la máquina virtual del remitente y en la del receptor.Run the NTTTCP test for 300 seconds (or 5 minutes) on the sender VM and receiver VM.

Sugerencia: Al configurar esta prueba por primera vez, puede probar un período de prueba más corto para obtener antes comentarios.Tip: When setting up this test for the first time, you might try a shorter test period to get feedback sooner. Una vez que la herramienta funciona según lo esperado, amplíe el período de prueba en 300 segundos para obtener resultados más precisos.Once the tool is working as expected, extend the test period to 300 seconds for the most accurate results.

Nota

El remitente y el receptor deben especificar el mismo parámetro de duración de prueba (-t).The sender and receiver must specify the same test duration parameter (-t).

Para probar un único flujo TCP durante 10 segundos:To test a single TCP stream for 10 seconds:

Parámetros de receptor: ntttcp -r -t 10 -P 1Receiver parameters: ntttcp -r -t 10 -P 1

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

Nota

El ejemplo anterior solo debe emplearse para confirmar la configuración.The preceding sample should only be used to confirm your configuration. Más adelante en este documento se ofrecen ejemplos válidos de pruebas.Valid examples of testing are covered later in this document.

Pruebas de máquinas virtuales que ejecutan WINDOWS:Testing VMs running WINDOWS:

Obtenga NTTTCP en las máquinas virtuales.Get NTTTCP onto the VMs.

Descargue la versión más reciente: https://gallery.technet.microsoft.com/NTttcp-Version-528-Now-f8b12769Download the latest version: https://gallery.technet.microsoft.com/NTttcp-Version-528-Now-f8b12769

O búsquela si se ha migrado: https://www.bing.com/search?q=ntttcp+download< (debe ser el primer resultado)Or search for it if moved: https://www.bing.com/search?q=ntttcp+download< -- should be first hit

Considere la colocar NTTTCP en una carpeta independiente, como c:\tools.Consider putting NTTTCP in separate folder, like c:\tools

Procedimiento para permitir NTTTCP a través del Firewall de WindowsAllow NTTTCP through the Windows firewall

En el RECEPTOR, cree una regla Permitir en el Firewall de Windows para permitir la recepción de tráfico NTTTCP.On the RECEIVER, create an Allow rule on the Windows Firewall to allow the NTTTCP traffic to arrive. Es más fácil permitir todo el programa NTTTCP por su nombre en lugar de determinados puertos TCP de entrada.It's easiest to allow the entire NTTTCP program by name rather than to allow specific TCP ports inbound.

Permita NTTTCP a través del Firewall de Windows de la siguiente forma:Allow ntttcp through the Windows Firewall like this:

netsh advfirewall firewall add rule program=<PATH>\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow 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 ejemplo, si ha copiado ntttcp.exe a la carpeta "c:\tools", este sería el comando:For example, if you copied ntttcp.exe to the "c:\tools" folder, this would be the command: 

netsh advfirewall firewall add rule program=c:\tools\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow 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

Ejecución de pruebas de NTTTCPRunning NTTTCP tests

Inicie NTTTCP en el RECEPTOR (se ejecuta desde CMD, no desde 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

Si la máquina virtual tiene cuatro núcleos y una dirección IP 10.0.0.4, sería similar al siguiente: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

Inicie NTTTCP en el REMITENTE (se ejecuta desde CMD, no desde 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 

Espere a que se muestren los resultados.Wait for the results.

Pruebas de máquinas virtuales que ejecutan LINUX:Testing VMs running LINUX:

Use nttcp-for-linux.Use nttcp-for-linux. Está disponible en https://github.com/Microsoft/ntttcp-for-linux.It is available from https://github.com/Microsoft/ntttcp-for-linux

En las máquinas virtuales de Linux (REMITENTE y RECEPTOR), ejecute estos comandos para preparar ntttcp-for-linux en las máquinas virtuales:On the Linux VMs (both SENDER and RECEIVER), run these commands to prepare ntttcp-for-linux on your VMs:

CentOS: instalación de Git:CentOS - Install Git:

  yum install gcc -y  
  yum install git -y

Ubuntu: instalación de Git:Ubuntu - Install Git:

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

Cree e instale en ambas:Make and Install on both:

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

Como en el ejemplo de Windows, supongamos que la IP del RECEPTOR Linux es 10.0.0.4.As in the Windows example, we assume the Linux RECEIVER's IP is 10.0.0.4

Inicie ntttcp-for-linux en el RECEPTOR:Start NTTTCP-for-Linux on the RECEIVER:

ntttcp -r -t 300

Y en el REMITENTE, ejecute:And on the SENDER, run:

ntttcp -s10.0.0.4 -t 300

  Los valores predeterminados de duración de prueba están establecidos en 60 segundos si no hay ningún parámetro de tiempo.Test length defaults to 60 seconds if no time parameter is given

Pruebas entre máquinas virtuales que ejecutan Windows y Linux:Testing between VMs running Windows and LINUX:

En estos escenarios, se debería habilitar el modo sin sincronización para que la prueba pueda ejecutarse.On this scenarios we should enable the no-sync mode so the test can run. Para ello, use -N flag para Linux y -ns flag para Windows.This is done by using the -N flag for Linux, and -ns flag for Windows.

De Linux a Windows:From Linux to Windows:

Receptor <Windows >:Receiver <Windows>:

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

Remitente <Linux >:Sender <Linux> :

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

De Windows a Linux:From Windows to Linux:

Receptor <Linux >:Receiver <Linux>:

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

Remitente <Windows >:Sender <Windows>:

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

Prueba de instancias de servicio en la nube:Testing Cloud Service Instances:

Debe agregar la siguiente sección en ServiceDefinition.csdef.You need to add following section into your ServiceDefinition.csdef

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

Pasos siguientesNext steps