Test della velocità effettiva di rete delle macchine virtuali con NTTTCP
Questo articolo descrive come usare lo strumento gratuito NTTTCP di Microsoft per testare le prestazioni della larghezza di banda e della velocità effettiva della rete su macchine virtuali (VM) Windows o Linux di Azure. Uno strumento come NTTTCP si rivolge alla rete per i test e riduce al minimo l'uso di altre risorse che potrebbero influire sulle prestazioni.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Due macchine virtuali Windows o Linux in Azure. Creare una macchina virtuale Windows o creare una macchina virtuale Linux.
- Per testare la velocità effettiva, sono necessarie due macchine virtuali della stessa dimensione che fungano da mittente e da ricevente. Le due macchine virtuali devono trovarsi nello stesso gruppo di posizionamento di prossimità o nello stesso set di disponibilità, in modo da poter utilizzare i loro indirizzi IP interni ed escludere i bilanciatori del carico dal test.
- Prendere nota del numero di core della macchina virtuale e dell'indirizzo IP della macchina virtuale ricevente da utilizzare nei comandi. Entrambi i comandi, mittente e ricevente, usano l'indirizzo IP della ricevente.
Nota
È possibile eseguire il test usando un IP virtuale, ma questo non rientra nell'ambito di questo articolo.
Esempi usate in questo articolo
Impostazione | Valore |
---|---|
Indirizzo IP della macchina virtuale ricevente | 10.0.0.5 |
Numero di core della macchina virtuale | 2 |
Test della velocità effettiva con macchine virtuali Windows o Linux
È possibile testare la velocità effettiva da macchine virtuali Windows usando NTTTCP o da macchine virtuali Linux usando NTTTCP per Linux.
Preparare le macchine virtuali e installare NTTTCP per Windows
Su entrambe le macchine virtuali, mittente e ricevente, scaricare la versione più recente di NTTTCP in una cartella separata come c:\tools.
Aprire la riga di comando di Windows e passare alla cartella in cui è stato scaricato ntttcp.exe.
Nella macchina virtuale ricevente, creare una regola
allow
di Windows Firewall per consentire l'arrivo del traffico NTTTCP. È più semplice consentire nttcp.exe in base al nome che consentire porte TCP in ingresso specifiche. Eseguire il comando seguente, sostituendoc:\tools
con il percorso di download di ntttcp.exe, se diverso.netsh advfirewall firewall add rule program=c:\tools\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY
Per confermare la configurazione, usare i comandi seguenti per testare un singolo flusso Transfer Control Protocol (TCP) per 10 secondi sulle macchine virtuali ricevente e mittente:
Macchina virtuale ricevente
ntttcp -r -m [<number of VM cores> x 2],*,<receiver IP address> -t 10 -P 1
ntttcp -r -m 4,*,10.0.0.5 -t 10 -P 1
Macchina virtuale mittente
ntttcp -s -m [<number of VM cores> x 2],*,<receiver IP address> -t 10 -P 1
ntttcp -s -m 4,*,10.0.0.5 -t 10 -P 1
Nota
Usare i comandi precedenti solo per testare la configurazione.
Suggerimento
Quando si esegue il test per la prima volta per verificare la configurazione, usare una durata breve per ottenere un feedback rapido. Una volta verificato il funzionamento dello strumento, estendere la durata del test a 300 secondi per ottenere risultati più accurati.
Eseguire i test di velocità effettiva
Eseguire il test per 300 secondi, o cinque minuti, sia sulla macchina virtuale mittente che su quella ricevente. Il mittente e la ricevente devono specificare la stessa durata del test per il parametro -t
.
Nella macchina virtuale ricevente eseguire il comando seguente, sostituendo i segnaposto
<number of VM cores>
e<receiver IP address>
con i propri valori.ntttcp -r -m [<number of VM cores> x 2],*,<receiver IP address> -t 300
ntttcp -r -m 4,*,10.0.0.5 -t 300
Sulla macchina virtuale mittente, eseguire il comando seguente. I comandi mittente e ricevente si differenziano solo per il parametro
-s
o-r
che designa la macchina virtuale mittente o ricevente.ntttcp -s -m [<number of VM cores> x 2],*,<receiver IP address> -t 300
ntttcp -s -m 4,*,10.0.0.5 -t 300
Attendere i risultati.
Al termine del test, l'output dovrebbe essere simile a quello dell'esempio seguente:
C:\tools>ntttcp -s -m 4,*,10.0.0.5 -t 300
Copyright Version 5.39
Network activity progressing...
Thread Time(s) Throughput(KB/s) Avg B / Compl
====== ======= ================ =============
0 300.006 29617.328 65536.000
1 300.006 29267.468 65536.000
2 300.006 28978.834 65536.000
3 300.006 29016.806 65536.000
##### Totals: #####
Bytes(MEG) realtime(s) Avg Frame Size Throughput(MB/s)
================ =========== ============== ================
34243.000000 300.005 1417.829 114.141
Throughput(Buffers/s) Cycles/Byte Buffers
===================== =========== =============
1826.262 7.036 547888.000
DPCs(count/s) Pkts(num/DPC) Intr(count/s) Pkts(num/intr)
============= ============= =============== ==============
4218.744 1.708 6055.769 1.190
Packets Sent Packets Received Retransmits Errors Avg. CPU %
============ ================ =========== ====== ==========
25324915 2161992 60412 0 15.075
Test della velocità effettiva tra una macchina virtuale Windows e una macchina virtuale Linux
Per eseguire test di velocità effettiva con NTTTCP tra una macchina virtuale Windows e una macchina virtuale Linux, attivare la modalità di non sincronizzazione usando il contrassegno -ns
su Windows o il contrassegno -N
su Linux.
Per eseguire il test con la macchina virtuale Windows come ricevente, eseguire il comando seguente:
ntttcp -r -m [<number of VM cores> x 2],*,<Linux VM IP address> -t 300
Per eseguire il test con la macchina virtuale Windows come mittente, eseguire il comando seguente:
ntttcp -s -m [<number of VM cores> x 2],*,<Linux VM IP address> -ns -t 300