Condividi tramite


Testare la velocità effettiva della rete della macchina virtuale usando NTTTCP

Riassunto

Questo articolo descrive come usare lo strumento NTTTCP gratuito di Microsoft per testare le prestazioni della larghezza di banda di rete e velocità effettiva in Azure Windows o macchine virtuali Linux. 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 gratuito.
  • 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 per i comandi. Entrambi i comandi, mittente e ricevente, usano l'indirizzo IP della ricevente.

Annotazioni

È 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

Testare la velocità effettiva con macchine virtuali Windows o macchine virtuali Linux

È possibile testare la velocità effettiva dalle macchine virtuali Windows usando NTTTCP o da macchine virtuali Linux usando NTTTCP-for-Linux.

Preparare le macchine virtuali e installare NTTTCP-for-Windows

  1. Su entrambe le macchine virtuali, mittente e ricevente, scaricare la versione più recente di NTTTCP in una cartella separata come c:\tools.

  2. Aprire la riga di comando Windows e passare alla cartella in cui è stato scaricato ntttcp.exe.

  3. Nella macchina virtuale ricevente creare una regola Windows Firewall allow 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, sostituendo 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
    
  4. 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
    

    Annotazioni

    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 .

  1. Nella macchina virtuale ricevente eseguire il comando seguente, sostituendo i segnaposto e 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
    
  2. Sulla macchina virtuale mittente, eseguire il comando seguente. I comandi mittente e ricevente si differenziano solo per il parametro o 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
    
  3. 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

Testare la velocità effettiva tra una macchina virtuale Windows e una macchina virtuale Linux

Per eseguire test di throughput NTTTCP tra una macchina virtuale Windows e una macchina virtuale Linux, abilita la modalità senza sincronizzazione usando il flag -ns su Windows o il flag -N su Linux.

Per eseguire il test con la macchina virtuale Windows come ricevitore, 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

Passaggi successivi