Perché iperf riporta ancora prestazioni da 1 Gbps quando si utilizza il bonding su due adattatori da 1 Gbps?


6

Da quanto ho capito, il legame porta tra gli altri vantaggi la possibilità di aumentare la velocità della rete tra due macchine in una LAN.

Il legame [...] significa combinare diverse interfacce di rete (NIC) in un singolo collegamento, fornendo alta disponibilità, bilanciamento del carico, throughput massimo o una combinazione di questi.

Fonte: documentazione Ubuntu , enfasi mia.

Ho il collegamento configurato su due server; entrambi hanno due adattatori NIC da 1 Gbps. Quando si verifica la velocità tra quei server che utilizzanoiperf , il rapporto indica:

  • Da 930 a 945 Mbits / sec quando si utilizza la balance-rrmodalità bonding.
  • Da 520 a 530 Mbits / sec dalla macchina A alla B quando si utilizza 802.3ad,
  • Da 930 a 945 Mbits / sec dalla macchina da B ad A durante l'uso 802.3ad.

Una cosa interessante è che quando si usa 802.3ad, ifconfigindica che praticamente tutto RXinizia eth0(2,5 GB vs. pochi KB / MB) e tutto TXil eth1sulla macchina A, e l'inverso sulla macchina B.

Quando si chiede iperfdi utilizzare più connessioni ( iperf -c 192.168.1.2 -P 10), la somma ottenuta è molto vicina ai risultati visualizzati quando si utilizza una singola connessione.

Due macchine sono collegate a un Netgear GS728TS che ha LACP configurato correttamente (spero), con due GAL che coprono due porte ciascuno. La modalità IEEE 802.3x è abilitata.

È iperfadatto per questo tipo di test? Se sì, c'è qualcosa che mi manca?


iperf dovrebbe andare bene. È possibile che un'attrezzatura nel mezzo sia il collo di bottiglia?

In quale modalità lo hai? Hai verificato che entrambi i collegamenti vengono utilizzati (anche se non completamente)?
Patrick,

@FrederikDeweerdt: l'apparecchiatura nel mezzo è un interruttore che dovrebbe essere in grado di gestire correttamente una connessione a 2 Gbps, suppongo. Ho modificato la domanda per fornire maggiori dettagli.
Arseni Mourzenko,

@Patrick: sto usando 802.3ad. Ho modificato la domanda per fornire maggiori dettagli.
Arseni Mourzenko,

3
Penso che 802.3ad utilizzi un hash degli indirizzi degli endpoint per scegliere quale interfaccia utilizzare, quindi tra due endpoint qualsiasi il tuo throughput non sarà superiore a quello di una singola NIC. Il round robin può comportare un throughput più elevato, se si desidera massimizzare le velocità di trasferimento tra due endpoint specifici, ma credo che lo svantaggio sia che i pacchetti possono arrivare fuori servizio (non è un problema per TCP). Controlla se lo switch ha limiti generali sulla larghezza di banda per le porte fisicamente adiacenti; a volte avranno 2 o 4 porte che condividono lo stesso hardware.
Mark Plotnick,

Risposte:


2

Le interfacce collegate non garantiscono ulteriore larghezza di banda ai singoli flussi di rete. Quindi, se stai eseguendo solo una copia di iperf, sarai in grado di utilizzare solo un'interfaccia di rete alla volta. Se hai due schede di rete in un ritardo allora avrai bisogno di almeno due copie completamente indipendenti di iperf in esecuzione sul computer per vedere qualsiasi utilizzo simultaneo. Ciò si applicherà anche ai carichi effettivi, ad esempio un client Samba vedrà comunque solo 1 GB di throughput, ma due client potrebbero vedere 1 GB ciascuno se il tuo ritardatario ha due schede di rete. Tutto questo presuppone che il lagg sia configurato per utilizzare entrambe le schede di rete (l'opzione 802.3ad lo farà).


2

Dopo aver contattato il supporto Netgear, sembra che:

Se si utilizzano 2 stazioni (1 client / 1 server), in realtà utilizzerà solo un collegamento (quindi 1Gbps / 940mbps), il collegamento utilizzato viene deciso dall'algoritmo di hash LACP.

Per superare il limite di 1 Gbps, dovrai testare con più di 1 client.

Fonte: risposta ticket di supporto Netgear

La stessa risposta del ticket si collega al post del forum pubblico di Netgear , dove possiamo leggere che:

Puoi ottenere un aggregato di 2 Gbps solo quando l'algoritmo di hash LACP inserisce più flussi di traffico su percorsi diversi e non sempre. Con un numero limitato di client (2 nel tuo caso), le probabilità sono buone che entrambi possano ricevere l'hash sullo stesso link.

Per coloro che non vogliono leggere l'intera discussione sul forum, ecco i punti chiave:

  • Dovrebbero esserci almeno due client che si connettono al server per beneficiare di LACP. Un singolo client utilizzerà un solo collegamento, che limiterà la sua velocità a 1 Gbps.

  • Due client dovrebbero utilizzare collegamenti diversi per beneficiare di LACP.

  • Con solo due schede di rete sul server, esiste una probabilità del 50% di ottenere lo stesso collegamento da due client, il che comporterà una velocità totale limitata a 1 Gbps. Tre schede di rete riducono le possibilità fino al 33%, quattro fino al 25%.

Per concludere, con Netgear GS728TS non è possibile ottenere una velocità da 1,4 a 1,8 Gbps tra due macchine.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.