Test della larghezza di banda/velocità effettiva (NTTTCP)Bandwidth/Throughput testing (NTTTCP)

Durante il test della velocità di rete effettiva in Azure, è preferibile usare uno strumento in grado di testare la rete desiderata e di ridurre al minimo l'uso di altre risorse che potrebbero influire sulle prestazioni.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. È consigliabile usare NTTTCP.NTTTCP is recommended.

Copiare lo strumento in due macchine virtuali di Azure delle stesse dimensioni.Copy the tool to two Azure VMs of the same size. Una macchina virtuale funge da MITTENTE, l'altra da RICEVITORE.One VM functions as SENDER and the other as RECEIVER.

Distribuzione di macchine virtuali per i testDeploying VMs for testing

Ai fini di questo test, le due macchine virtuali devono trovarsi nello stesso servizio cloud o set di disponibilità in modo da poter usare i relativi IP interni ed escludere i servizi di bilanciamento del carico dal 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. È possibile eseguire il test con un indirizzo VIP, ma questa tipologia di test non rientra nell'ambito di questo documento.It is possible to test with the VIP but this kind of testing is outside the scope of this document.

Prendere nota dell'indirizzo IP del RICEVITORE.Make a note of the RECEIVER's IP address. In questo esempio verrà definito "a.b.c.r."Let's call that IP "a.b.c.r"

Prendere nota del numero di core nella macchina virtuale.Make a note of the number of cores on the VM. In questo esempio sarà "#num_cores"Let's call this "#num_cores"

Eseguire il test NTTTCP per 300 secondi (o 5 minuti) nella macchina virtuale mittente e in quella ricevitore.Run the NTTTCP test for 300 seconds (or 5 minutes) on the sender VM and receiver VM.

Suggerimento: quando si configura il test per la prima volta, è possibile indicare un periodo più breve in modo da avere un riscontro in meno tempo.Tip: When setting up this test for the first time, you might try a shorter test period to get feedback sooner. Una volta che lo strumento funziona come previsto, estendere il periodo di prova a 300 secondi per ottenere i risultati più accurati.Once the tool is working as expected, extend the test period to 300 seconds for the most accurate results.

Nota

Il mittente e il destinatario devono specificare lo stesso parametro di durata del test (-t).The sender and receiver must specify the same test duration parameter (-t).

Per testare un singolo flusso TCP per 10 secondi:To test a single TCP stream for 10 seconds:

Parametri ricevitore: ntttcp -r -t 10 -P 1Receiver parameters: ntttcp -r -t 10 -P 1

Parametri mittente: ntttcp -s10.27.33.7 -t 10 -n 1 -P 1Sender parameters: ntttcp -s10.27.33.7 -t 10 -n 1 -P 1

Nota

L'esempio precedente deve essere usato solo per confermare la configurazione.The preceding sample should only be used to confirm your configuration. Alcuni esempi di test effettivi vengono trattati più avanti in questo documento.Valid examples of testing are covered later in this document.

Test di macchine virtuali che eseguono WINDOWS:Testing VMs running WINDOWS:

Installare NTTTCP nelle macchine virtuali.Get NTTTCP onto the VMs.

Scaricare la versione più recente: https://gallery.technet.microsoft.com/NTttcp-Version-528-Now-f8b12769Download the latest version: https://gallery.technet.microsoft.com/NTttcp-Version-528-Now-f8b12769

O cercarla se spostata: https://www.bing.com/search?q=ntttcp+download<. Generalmente sarà il primo risultato ottenutoOr search for it if moved: https://www.bing.com/search?q=ntttcp+download< -- should be first hit

È consigliabile inserire NTTTCP in una cartella separata, ad esempio, ad esempio c:\strumentiConsider putting NTTTCP in separate folder, like c:\tools

Consentire NTTTCP in Windows FirewallAllow NTTTCP through the Windows firewall

Nella macchina RICEVITORE, creare una regola di assenso in Windows Firewall per consentire l'ingresso del traffico NTTTCP.On the RECEIVER, create an Allow rule on the Windows Firewall to allow the NTTTCP traffic to arrive. È più semplice consentire l'intero programma NTTTCP usando il nome anziché consentire porte TCP in entrata specifiche.It's easiest to allow the entire NTTTCP program by name rather than to allow specific TCP ports inbound.

Consentire NTTTCP in Windows Firewall nel modo seguente:Allow ntttcp through the Windows Firewall like this:

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

Ad esempio, se è stato copiato ntttcp.exe nella cartella "c:\strumenti" cartella, il comando sarà il seguente:For example, if you copied ntttcp.exe to the "c:\tools" folder, this would be the command:

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

Esecuzione di test NTTTCPRunning NTTTCP tests

Avviare NTTTCP sul RICEVITORE (da CMD, non da 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 la macchina virtuale dispone di quattro core e il suo indirizzo IP è 10.0.0.4, il comando sarà simile al seguente: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

Avviare NTTTCP nel MITTENTE (da CMD, non da 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

Attendere i risultati.Wait for the results.

Test di macchine virtuali che eseguono LINUX:Testing VMs running LINUX:

Usare nttcp-for-linux,Use nttcp-for-linux. disponibile all'indirizzo https://github.com/Microsoft/ntttcp-for-linuxIt is available from https://github.com/Microsoft/ntttcp-for-linux

Nelle macchine virtuali Linux (MITTENTE e RICEVITORE), eseguire i comandi seguenti per preparare ntttcp-for-linux:On the Linux VMs (both SENDER and RECEIVER), run these commands to prepare ntttcp-for-linux on your VMs:

CentOS - Installare Git:CentOS - Install Git:

  yum install gcc -y  
  yum install git -y

Ubuntu - Installare Git:Ubuntu - Install Git:

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

Verificare e installare in entrambie le macchine virtuali:Make and Install on both:

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

Come illustrato nell'esempio di Windows, si presuppone che l'indirizzo IP del RICEVITORE Linux sia 10.0.0.4As in the Windows example, we assume the Linux RECEIVER's IP is 10.0.0.4

Avviare NTTTCP-for-Linux nel RICEVITORE:Start NTTTCP-for-Linux on the RECEIVER:

ntttcp -r -t 300

Nel MITTENTE, eseguire:And on the SENDER, run:

ntttcp -s10.0.0.4 -t 300

Il test ha una lunghezza predefinita di 60 secondi se non viene specificato un parametro di tempoTest length defaults to 60 seconds if no time parameter is given

Test tra macchine virtuali che eseguono Windows e LINUX:Testing between VMs running Windows and LINUX:

In questi scenari si dovrebbe attivare la modalità no-sync per consentire l'esecuzione del test.On this scenarios we should enable the no-sync mode so the test can run. Questa operazione viene eseguita usando il flag -N per Linux e il flag -ns per Windows.This is done by using the -N flag for Linux, and -ns flag for Windows.

Da Linux a Windows:From Linux to Windows:

Ricevitore :Receiver :

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

Mittente :Sender :

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

Da Windows a Linux:From Windows to Linux:

Ricevitore :Receiver :

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

Mittente :Sender :

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

Passaggi successiviNext steps