Metodologie per testare le performance di un collegamento WAN

Abbiamo un paio di nuovi collegamenti Ethernet 1Gbps dislocati in modo diverso tra le posizioni di circa 200 miglia di distanza. Il "client" è una nuova macchina ragionevolmente potente (HP DL380 G6, doppio E56xx Xeons, 48GB DDR3, R1 paio di dischi da 300 GB 10krpm SAS, W2K8R2-x64) e il server è anche una macchina decente (HP BL460c G6 , duplicati E55xx Xeons, 72GB, R1 paia di dischi SAS 146GB 10krpm, dual-port Emulex 4Gbps FC HBA collegati a doppio Cisco MDS9509s poi su dedicati HP EVA 8400 con dischi FC FC 128 x 450GB 15krpm, RHEL 5.3-x64).

Utilizzando SFTP dal client, vediamo solo circa 40 Kbps di throughput usando file di grandi size (> 2 GB). Abbiamo eseguito il server a test di 'altri server locali' e vediamo circa 500Mbps tramite gli switch locali (Cat 6509s), stiamo per fare la stessa cosa sul lato client ma è un giorno o così lontano.

  • Perché non posso pingare il mio server?
  • Come verificare se una port host remota è accessibile o less in Unix
  • Cosa provocerebbe Memcached a Hang per 2 secondi?
  • Rete WiFi Mesh - Clienti in roaming
  • Utenti con indirizzo IP di Google. Come è ansible?
  • 2 x DL 380p gen 8 + HP Infiniband 10Gb / 40Gb 544FLR-QSFP 649282-B21
  • Quali altri methods di prova utilizzerebbe per dimostrare ai fornitori di collegamento che il problema è il loro?

  • Ubuntu Server 12.04 può accedere a LAN, ma non a Internet
  • Un'alta variablestà nei tempi di risposta di Ping indica un potenziale problema di networking?
  • Come posso elencare le porte aperte su Debian?
  • Sfide di sottoreti
  • Può una macchina Hyper-V essere fatta più lentamente e / o emulare una connessione di networking lenta?
  • Quali sono le implicazioni di avere due sottoreti sullo stesso interruttore?
  • 4 Solutions collect form web for “Metodologie per testare le performance di un collegamento WAN”

    Accordare un elefante:
    Questo potrebbe richiedere l'accordatura, probabilmente non il problema qui come pQd dice però. Questo tipo di collegamento è noto come "Long, Fat Pipes" o elefante (vedi RFC 1072 ). Poiché questo è un pipe gigabit grasso che va in una distanza (la distanza è in realtà tempo / latenza in questo caso), la window di ricezione TCP deve essere grande (vedere la sezione TCP / IP Illustrated Volume 1, estensioni TCP per le immagini).

    Per calcolare la window di ricezione deve essere calcolato il tempo di rilascio della width di banda:

    Bandwidth * Delay = Product 

    Se vi è latenza 10MS, questa calcolatrice stima che si desidera una window di ricezione di circa 1,2 MBytes. Possiamo fare il calcolo con la formula sopra:

     echo $(( (1000000.00/.01)/8 )) 12500000 

    Quindi, potrebbe essere necessario eseguire un dump di pacchetti per vedere se la scala della window di tcp (l'estensione TCP che consente le windows più grandi) sta accadendo giusto per sintonizzarla una volta capito qualunque sia il problema grande.

    Finitura a window:
    Se questo è il problema, che sei dimensione window limitata senza scalatura, mi aspetto i seguenti risultati se non è presente la scala di window e ci sono circa 200 ms di latenza indipendentemente dalla dimensione del pipe:

     Throughput = Recieve Window/Round Trip Time 

    Così:

     echo $(( 65536/.2 )) 327680 #Bytes/second 

    Per get i risultati che state vedendo bisogna solo risolvere per la latenza, che sarebbe:

     RTT = RWIN/Throughput 

    Così (per 40 kBytes / s):

     echo $(( 65536.0/40000.0 )) 1.63 #Seconds of Latency 

    (Si prega di controllare la mia math, e naturalmente questi non includono tutti i protocolli / header overhead)

    40kbps è molto basso [fino al punto che sospetto che i convertitori di media difettosi / duplex non corrispondono [ma hai gigabit quindi non c'è posto per half duplex!] Etc]. ci devono essere perdite di pacchetti o un jitter molto alto coinvolti.

    il iperf è il primo strumento che mi viene in mente per misurare il throughput disponibile. correre da un lato

     iperf -s 

    e dall'altro:

     iperf -t 60 -c 10.11.12.13 

    allora è ansible scambiare i ruoli client / server, utilizzare -d per duplex ecc. eseguire mtr tra entrambe le macchine prima dell'inizio del test e vedere quali perdite di latenza / pacchetti hanno sul link inutilizzato e come cambiano durante il trasferimento dei dati.

    vorresti vedere: jitter molto piccolo e nessuna perdita di pacchetti fino a che il collegamento non sia saturo a 90 per cento della sua capacità.

    iperf per * nix e vincere , leggere qui e qui circa.

    mtr per * nix e vincere .

    tracepath può mostrare i problemi di instradamento tra i due siti.

    iperf, ttcp e bwping possono fornire informazioni utili.

    sai come questo collegamento da 1 GB viene fornito? stai ponte o routing su questo link? Qual è la tua SLA per il collegamento? potresti essere modellato dal tuo fornitore di collegamenti?

    se il tuo solo get 40kbs, allora c'è un problema serio, sei sicuro che non è un collegamento di 1MB piuttosto che un collegamento di 1GB / s. Probabilmente scoprirai che la velocità del collegamento non è ciò che pensi 🙂

    RFC 2544 o Y.156sam

    Questi sono test di networking che vengono eseguiti per dimostrare l'SLA da parte del vector. IPERF e simili non sono methods di test di networking verificabili.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.