Test de bande passante/débit (NTTTCP)Bandwidth/Throughput testing (NTTTCP)

Lorsque vous testez les performances du débit réseau dans Azure, il est préférable d’utiliser un outil qui cible le réseau pour le test et réduit l’utilisation d’autres ressources qui peuvent affecter les performances.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. NTTTCP est recommandé.NTTTCP is recommended.

Copiez l’outil sur deux machines virtuelles Azure de la même taille.Copy the tool to two Azure VMs of the same size. Une machine virtuelle fonctionne comme expéditeur et l’autre comme récepteur.One VM functions as SENDER and the other as RECEIVER.

Déploiement de machines virtuelles pour le testDeploying VMs for testing

Dans le cadre de ce test, les deux machines virtuelles doivent être dans le même service cloud ou le même groupe à haute disponibilité afin de pouvoir utiliser leurs adresses IP internes et exclure les équilibrages de charge du test.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. Il est possible de tester avec l’adresse IP virtuelle, mais ce type de test n’est pas couvert par ce document.It is possible to test with the VIP but this kind of testing is outside the scope of this document.

Prenez note de l’adresse IP du récepteur.Make a note of the RECEIVER's IP address. Appelons cette IP « a.b.c.r »Let's call that IP "a.b.c.r"

Notez le nombre de cœurs de la machine virtuelle.Make a note of the number of cores on the VM. Nous l’appelons «#num_cores »Let's call this "#num_cores"

Exécutez le test NTTTCP pendant 300 secondes (5 minutes) les machines virtuelles d’expédition et de réception.Run the NTTTCP test for 300 seconds (or 5 minutes) on the sender VM and receiver VM.

Conseil : Quand vous configurez ce test pour la première fois, vous pouvez essayer une période d’essai plus courte pour obtenir des résultats plus tôt.Tip: When setting up this test for the first time, you might try a shorter test period to get feedback sooner. Une fois que l’outil fonctionne comme prévu, étendez la période d’essai à 300 secondes pour des résultats plus précis.Once the tool is working as expected, extend the test period to 300 seconds for the most accurate results.

Notes

L’expéditeur et le récepteur doivent spécifier le même paramètre de durée de test (-t).The sender and receiver must specify the same test duration parameter (-t).

Pour tester un seul flux TCP pendant 10 secondes :To test a single TCP stream for 10 seconds:

Paramètres du récepteur : ntttcp - r -t 10 - P 1Receiver parameters: ntttcp -r -t 10 -P 1

Paramètres de l’expéditeur : ntttcp-s10.27.33.7 -t 10 - n 1 -P 1Sender parameters: ntttcp -s10.27.33.7 -t 10 -n 1 -P 1

Notes

L’exemple précédent doit uniquement être utilisé pour confirmer votre configuration.The preceding sample should only be used to confirm your configuration. Des exemples valides de tests sont proposés plus loin dans ce document.Valid examples of testing are covered later in this document.

Test de machines virtuelles exécutant WINDOWS :Testing VMs running WINDOWS:

Préparez NTTTCP sur les machines virtuelles.Get NTTTCP onto the VMs.

Téléchargez la dernière version : https://gallery.technet.microsoft.com/NTttcp-Version-528-Now-f8b12769Download the latest version: https://gallery.technet.microsoft.com/NTttcp-Version-528-Now-f8b12769

Ou recherchez-le si déplacé : https://www.bing.com/search?q=ntttcp+download< --doit être atteint en premierOr search for it if moved: https://www.bing.com/search?q=ntttcp+download< -- should be first hit

Envisagez de placer NTTTCP dans un dossier distinct, comme c:\toolsConsider putting NTTTCP in separate folder, like c:\tools

Autoriser NTTTCP via le pare-feu WindowsAllow NTTTCP through the Windows firewall

Sur le RÉCEPTEUR, créez une règle d’autorisation sur le pare-feu Windows pour autoriser l’entrée du trafic NTTTCP.On the RECEIVER, create an Allow rule on the Windows Firewall to allow the NTTTCP traffic to arrive. Il est plus facile d’autoriser la totalité du programme NTTTCP par nom que d’autoriser des ports entrants TCP spécifiques.It's easiest to allow the entire NTTTCP program by name rather than to allow specific TCP ports inbound.

Autorisez ntttcp via le pare-feu Windows en utilisant ce qui suit :Allow ntttcp through the Windows Firewall like this:

netsh advfirewall firewall add rule program=<CHEMIN>\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

Par exemple, si vous avez copié ntttcp.exe dans le dossier « c:\tools », voici la commande :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

Exécution de tests NTTTCPRunning NTTTCP tests

Pour démarrer NTTTCP sur le RÉCEPTEUR (exécuter à partir de CMD et non à partir de 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 machine virtuelle possède quatre cœurs et une adresse IP de 10.0.0.4, la commande ressemblerait à ceci :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

Pour démarrer NTTTCP sur l’EXPÉDITEUR (exécuter à partir de CMD et non à partir de 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 

Attendez les résultats.Wait for the results.

Test de machines virtuelles exécutant LINUX :Testing VMs running LINUX:

Utilisez nttcp-for-linux.Use nttcp-for-linux. Cette commande est disponible à partir des versions https://github.com/Microsoft/ntttcp-for-linuxIt is available from https://github.com/Microsoft/ntttcp-for-linux

Sur les machines virtuelles Linux (EXPÉDITEUR et RÉCEPTEUR), exécutez les commandes suivantes pour préparer ntttcp-for-linux sur vos machines virtuelles :On the Linux VMs (both SENDER and RECEIVER), run these commands to prepare ntttcp-for-linux on your VMs:

CentOS - Installer Git :CentOS - Install Git:

  yum install gcc -y  
  yum install git -y

Ubuntu - Installer Git :Ubuntu - Install Git:

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

Compilez et installez sur les deux :Make and Install on both:

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

Comme dans l’exemple pour Windows, nous partons du principe que l’IP du récepteur Linux est 10.0.0.4As in the Windows example, we assume the Linux RECEIVER's IP is 10.0.0.4

Démarrez NTTTCP-for-Linux sur le récepteur :Start NTTTCP-for-Linux on the RECEIVER:

ntttcp -r -t 300

Et sur l’EXPÉDITEUR, exécutez :And on the SENDER, run:

ntttcp -s10.0.0.4 -t 300

  La longueur de test par défaut est de 60 secondes si aucun paramètre de temps n’est définiTest length defaults to 60 seconds if no time parameter is given

Test entre les machines virtuelles exécutant Windows et LINUX :Testing between VMs running Windows and LINUX:

Dans ce scénario, nous devons activer le mode sans synchronisation pour permettre l’exécution du test.On this scenarios we should enable the no-sync mode so the test can run. Pour ce faire, utilisez l’indicateur -N pour Linux, et l’indicateur -ns pour Windows.This is done by using the -N flag for Linux, and -ns flag for Windows.

De Linux vers Windows :From Linux to Windows:

Destinataire <Windows> :Receiver <Windows>:

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

Expéditeur <Linux> :Sender <Linux> :

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

De Windows vers Linux :From Windows to Linux:

Destinataire <Linux> :Receiver <Linux>:

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

Expéditeur <Windows> :Sender <Windows>:

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

Test d’instances de service cloud :Testing Cloud Service Instances:

Vous devez ajouter la section suivante à votre ServiceDefinition.csdefYou need to add following section into your ServiceDefinition.csdef

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

Étapes suivantesNext steps