Testare la velocità effettiva della rete VM usando NTTTCP

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux prossima allo stato EOL (End of Life, fine del ciclo di vita). Prendere in considerazione l'uso e il piano di conseguenza. Per altre informazioni, vedere le linee guida per la fine della vita di CentOS.

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 macchine virtuali Windows o Linux di Azure. Uno strumento come NTTTCP è destinato alla rete per il 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 con le stesse dimensioni per funzionare come mittente e destinatario. Le due macchine virtuali devono trovarsi nello stesso gruppo di posizionamento di prossimità o nello stesso set di disponibilità, quindi è possibile usare gli indirizzi IP interni ed escludere i servizi di bilanciamento del carico dal test.
    • Si noti il numero di core vm e l'indirizzo IP della macchina virtuale ricevente da usare nei comandi. I comandi mittente e ricevitore usano sia l'indirizzo IP del ricevitore.

Nota

Il test tramite un indirizzo IP virtuale (VIP) è possibile, ma non rientra nell'ambito di questo articolo.

Esempi usati in questo articolo

Impostazione Valore
Indirizzo IP della macchina virtuale ricevitore 10.0.0.5
Numero di core di 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. Nelle macchine virtuali mittente e ricevitore scaricare la versione più recente di NTTTCP in una cartella separata, ad esempio c:\tools.

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

  3. Nella macchina virtuale ricevente creare una regola di Windows Firewall allow per consentire l'arrivo del traffico NTTTCP. È più semplice consentire nttcp.exe per nome rispetto a consentire porte TCP in ingresso specifiche. Eseguire il comando seguente, sostituendo c:\tools con il percorso di download per 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 TCP (Transfer Control Protocol) per 10 secondi nelle macchine virtuali ricevitore e mittente:

    Vm ricevitore

    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 l'installazione, usare una breve durata del test per ottenere un feedback rapido. Dopo aver verificato che lo strumento funzioni, estendere la durata del test a 300 secondi per ottenere risultati più accurati.

Eseguire test di velocità effettiva

Eseguire il test per 300 secondi o cinque minuti nelle macchine virtuali mittente e ricevente. Il mittente e il destinatario devono specificare la stessa durata del test per il -t parametro .

  1. Nella macchina virtuale ricevente eseguire il comando seguente, sostituendo i <number of VM cores>segnaposto 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
    
  2. Nella macchina virtuale mittente eseguire il comando seguente. I comandi mittente e destinatario differiscono solo nel -s parametro 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
    
  3. Attendere i risultati.

Al termine del test, l'output dovrebbe essere simile all'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 velocità effettiva NTTTCP tra una macchina virtuale Windows e una macchina virtuale Linux, abilitare la modalità di sincronizzazione senza sincronizzazione usando il -ns flag in Windows o il -N flag in 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