[Risolto] Speed test di una LAN

Ciao a tutti,
volevo chiedere, se possibile, se c’è un modo semplice, anche non particolarmente accurato, per testare la velocità di una LAN.

Ho 5 computer, un server e 4 client. Nei client viene montata, via NFS, la /home/master del server.

Mi interessa testare la velocità di trasferimento dati dal master ai client (e viceversa), ma senza coinvolgere gli hard disk. Cioè lo scopo reale è vedere la velocità del sistema: schede di rete-cavi-switch bypassando l’eventuale collo di bottiglia rappresentato, appunto, dall’HD.

Le schede sono delle Realtek RTL-8169 Gigabit Ethernet (rev 10) e lo switch è un classico Netgear a 8 ingressi, anch’esso Gigabit.

Qui (http://puschitz.com/pblog/?p=30) c’è un “trucco” usando ftp ma non riesco ad adattarlo al mio caso (devo poter indicare l’host verso il quale testare la comunicazione)

Grazie!

Io verifico con il ping, solitamente.

Pensi sia sufficiente? Voglio dire ad esempio per vedere se una scheda Gigabit è “gigabit” davvero… Se davvero trascerisce non dico proprio a 1000Mb/s, a più di 100…

Ho fatto una prova:
[master@bw02 ~]$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.089 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.081 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.078 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.077 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=0.077 ms
64 bytes from 192.168.1.1: icmp_seq=6 ttl=64 time=0.076 ms
64 bytes from 192.168.1.1: icmp_seq=7 ttl=64 time=0.077 ms
64 bytes from 192.168.1.1: icmp_seq=8 ttl=64 time=0.078 ms

Diciamo quindi che “mediamente” abbiamo 64bytes in circa 0,080ms --> 64 / 0,080 *1000 = 800000 Byte/s cioè
6.4Mb/s…

Ho fatto bene i conti? Se è così non mi convince, forse nel ping ci sono anche delle latenze che “pesano” molto essendo i pacchetti molto piccoli…

Ci vorrebbe un “blocco” di grandi dimensioni da trasferire, ma senza scrivere/leggere su HD…

Che ne dici?

Tu vuoi misurare la velocità massima della scheda? Ho capito bene?

Attenzione che ci sono molte variabili che inficiano i risultati.

Utilizzo del PC, rete stessa ecc…

Beh diciamo che vorrei almeno vedere se supera i 100Mb/s, così sono “sicuro” che è e lavora come gigabit…

Considera che sono pc dedicati a lavorare in cluster, senza interfaccia grafica. Le schede non vengono usate per null’altro che scambio dati con calcolo parallelo (quando attivo).

So che ci sono dei benchmark per testare reti di questo tipo, ma volevo prima vedere se trovavo intanto qualcosa di più “casereccio”, almeno come prima verifica di massima.

Il tool ethtool continua a dirmi che le schede sono settate a 100Mb/s, in full duplex. Ho letto in giro diversi problemi legati a questo tool e quindi non so se dice il vero. Inoltre non riesco a cambiare la speed neanche mettendo a off l’autonegotiation della scheda.

Linux cmq insiste nel riconoscermi queste schede come gigabit (come dev’essere…)

Potrebbero essere i cavi o lo switch che fanno settare le schede a 100Mb/s, ma lo switch è anch’essi uno gigabit, i led sono tutti verdi e poi uso gli stessi cavi della rete parallela eth0 fatta tramite le ethernet delle MB: qui ethtool mi dice 1000Mb/s.

In pratica:
ethtool eth0 --> me le dà a 1000Mb/s
ethtool eth1 --> (oggetto della discussione) a 100Mb/s

e non capisco perché. Così volevo tagliare la testa al toro e fare una verifica “fisica”…

Mi sono imbattuto in NETIO: http://freshmeat.net/projects/netio

Ora ci perdo un po’ di tempo: non è da compilare e installare, ci sono già i bin per linux…

installa un monitor di rete tipo etherape oppure ibmonitor:

# yum install etherape ibmonitor

spara verso un host:

# ping xxx.xxx.xxx.xxx -f -s 65507

da un altro terminale root vedi qual è la velocità:

# ibmonitor

scusa, ma senza tutte ste menate, se ti interessa solo vedere se vai a gigabit trasferisci un file in ftp, se vai oltre i 6 mb/s allora sei in gigabit, solitamente su apparecchiature normali in gigabit sei attorno ai 35 mb/s , un hdd SATA arriva anche a 60 mb/s , quindi hai ampi margini per capire se vai in gigabit o in fastethernet indipendentemente dall’ harddisk.
Se poi vuoi fare benchmark allora è un altro discorso.

Grazie! Ora ho 2 possibilità di test. Ecco i risultati:

*** Con NETIO ***

(…)
TCP connection established.
Packet size 1k bytes: 11509 KByte/s Tx, 11429 KByte/s Rx.
Packet size 2k bytes: 11504 KByte/s Tx, 11423 KByte/s Rx.
Packet size 4k bytes: 11506 KByte/s Tx, 11418 KByte/s Rx.
Packet size 8k bytes: 11509 KByte/s Tx, 11441 KByte/s Rx.
Packet size 16k bytes: 11505 KByte/s Tx, 11408 KByte/s Rx.
Packet size 32k bytes: 11508 KByte/s Tx, 11347 KByte/s Rx.
Done.

*** Con IBMONITOR ***
Interface Received Sent Total
Kbps Kbps Kbps

eth0 0.72 2.08 2.80

eth1 49212.48 49128.08 98340.56

lo 0.00 0.00 0.00

All 49213.20 49130.16 98343.36

I risultati, tenendo conto della diff tra KByte e kbps mi sembrano coerenti.

Ragazzi, ma secondo voi le schede lavorano come gigabit?! Questo mantenersi di poco sotto i 100Mb/s mi fa pensare sono settate a 100Mb/s davvero.

Ho provato sulle eth0 (almeno in quelle dove ethtool mi dice 1000Mb/s) e…
TCP connection established.
Packet size 1k bytes: 114542 KByte/s Tx, 114290 KByte/s Rx.
Packet size 2k bytes: 114848 KByte/s Tx, 114319 KByte/s Rx.
Packet size 4k bytes: 114915 KByte/s Tx, 114377 KByte/s Rx.
Packet size 8k bytes: 114958 KByte/s Tx, 114270 KByte/s Rx.
Packet size 16k bytes: 114965 KByte/s Tx, 114245 KByte/s Rx.
Packet size 32k bytes: 114961 KByte/s Tx, 114162 KByte/s Rx.
Done.

A questo punto: sembra proprio che le schede di eth1 siano “frenate”! Mi lavorano solo a 100Mb/s…!

Ho provato a settarle provando:
[root@bw02 master]# ethtool -s eth1 autoneg off --> ok
[root@bw02 master]# ethtool -s eth1 speed 1000
Cannot set new settings: Invalid argument
not setting speed

Riesco a settare solo a 10Mb/s o a 100Mb/s! Eppure sono date per Gigabit!!! (In ogni caso, con autoneg in off, ottengo prestazioni peggiori anche con i 10 e i 100MB/s attivati…)
Ricordo che le schede sono delle Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10).

Cosa posso fare?! Che ne pensate?
Ditemi se ritenete necessaria l’apertura di un nuovo topic… i 2 argomenti sono fortemente correlati, ma… lo capirei…

Grazie a tutti…

Apri una nuova discussione. Tra l’altro chiudo questa perché credo che siamo arrivati alla soluzione.