PDA

View Full Version : Rete Gigabit lenta (es: trasferimento via FTP a meno di 100Mbps)


Unreal.2K7
23-12-2011, 16:45
Ciao a tutti, ho finito di mettere insieme il muletto con una nuova scheda di rete PCI gigabit ethernet della DLink (modello DGE-528T).


La mia configurazione in camera è questa:

(Computer A) Mio computer: Ethernet integrato della mobo ASUS Crosshair Formula 3 (Gigabit), sistema operativo: Windows 7 x64 Ultimate
(Computer B) Muletto: Scheda Ethernet PCI DGE-528T (Gigabit), sistema operativo: Windows XP Professional SP3
(Computer C) Terzo computer: Portatile Samsung R610, Ethernet integrato (Gigabit), sistema operativo: Windows XP Professional SP3

Ogni computer è collegato ad uno switch 8 porte DLink DGS-1008D (Gigabit).
I cavi sono categoria 5e o superiore. Lo switch indica correttamente che le porte su cui sono collegati i tre computer stanno lavorando a 1000Mbps Full Duplex, e così indicano le schede di rete dei tre dispositivi.
I driver della scheda di rete di B sono stati aggiornati.

Il problema:

La velocità di trasferimento dati (testata con "LAN Speed Test", http://www.totusoft.com/lanspeed2.html) tra il computer A e C oscilla tra 160 e 320Mbps (com'è giusto che sia).
Invece, quando vado a fare la misurazione tra A e B opppure tra C e B questa non supera mai i 110 / 120Mbps. C'è da notare che, sul computer B, la velocità di ricezione è più alta di quella in trasmissione (90/110Mbps in ingresso vs 65/80Mbps in uscita).


Cosa ho provato a fare fino a adesso:

- Ho pensato che potesse essere il problema il cavo, quindi ho provato a collegare B con il cavo di C (che nei test precedenti presentava velocità accettabili per una connessione gigabit).
Risultato: sempre la stessa velocità.

- Ho provato a forzare su tutte e tre le schede di rete la velocità 1000Mbps Full Duplex.
Risultato: i risultati non cambiano.

- Ho provato a installare la scheda di rete di B (la DGE-528T) nel computer A per vedere se magari era lei il problema. Ho effettuato un test -con la nuova scheda collegata- tra i computer A e C.
Risultato: sul computer A le velocità sono sempre le stesse (magari un po' più basse ma stiamo sempre intorno ai 200Mbps).

- Ho provato a collegare A e B direttamente con un unico cavo (bypassando lo switch).
Risultato: la velocità non cambia.

- Ho provato a forzare la scheda ethernet di B a lavorare a 100Mbps Full Duplex e a fare un test tra A e B.
Nota: prima di installare la scheda ethernet PCI, il computer B era collegato tramite porta lan integrata sulla mobo, ma è solo una 10/100.
Risultato: la velocità scende un po' (in tutti i test non superava mai i 60Mpbs in lettura e scrittura). Quindi in effetti c'è stato un miglioramento con il passaggio al gigabit, ma è troppo poco rispetto alle attese.


Considerazioni:

Ho avuto il timore che, visto che la scheda madre di B è una mini ITX con processore da 600Mhz, il collo di bottiglia fosse proprio la scarsa potenza. La mia però è solo un ipotesi, se possibile vorrei provare a far funzionare il sistema senza dover cambiare anche la scheda madre di B.

A questo punto mi affido a voi: se qualcuno esclude a priori il problema della scarsa potenza potrei provare ad installare una distribuzione di linux o una versione di windows per server e provare a vedere se magari ci sono delle ottimizzazioni che mi aiutano...


Grazie in anticipo per l'aiuto!

Il Bruco
23-12-2011, 17:08
Potrebbe essere un problema di Read/Write dell'HD, o del suo controller, del PC B.

Unreal.2K7
23-12-2011, 17:21
Ci ho pensato, e ho provato a usare NetCPS (trovato qui http://www.netchain.com/netcps/ ). Secondo l'autore i dati che il programma invia vengono generati al volo, senza scrittura su HDD (e in effetti sembra vero perchè quando lo faccio girare non lampeggia il led dell'HDD sul fronte del case).

In ogni caso anche usando questo programma le velocità sono le stesse:

Computer B: in ricezione
picco: 9.63 MBps
media: 9.30 MBps
tempo totale per la trasmissione di 300 MB: circa 32 secondi

Computer B: in trasmissione
picco: 8.34 MBps
media: 7.24 MBps
tempo totale per la trasmissione di 300 MB: circa 42 secondi



Edit: sto notando che sul computer B, durante l'utilizzo della rete l'utilizzo del processore schizza al 100% per poi tornare a valori di idle quando il carico sull'interfaccia ethernet cessa.

degli
25-12-2011, 11:48
Per fare una prova attendibile ti consiglio di usa iperf così ti rendi conto quanti mbit passano realmente dalla tua rete.

Saluti,
degli

Unreal.2K7
25-12-2011, 22:07
Ok, grazie del consiglio: ho usato Iperf e ho fatto delle rilevazioni. Il server veniva avviato sul muletto (Computer B, IP=192.168.1.252) e il client che ci si connetteva era il pc A (IP=192.168.1.1)
Ho ottenuto questi valori:

nota: ho fatto il test con 100MB di dati e con l'opzione "-r" che fa il test bidirezionale non in simultanea.

http://img195.imageshack.us/img195/8921/iperfrisultati.jpg (http://imageshack.us/photo/my-images/195/iperfrisultati.jpg/)


Ho anche notato che se provo a smanettare con la tcp window size, avviando il server con il valore impostato a 16KB o oltre, ottengo velocità in ricezione (sul pc B) di circa 150 Mbps, ma non so quanto sia indicativo...

Gimli[2BV!2B]
25-12-2011, 22:30
Hai controllato il task manager durante i trasferimenti?

Scrivi che è cloccato a 600 MHz, è un PIII? Credo sia estremamente probabile che non riesca a processare tutti quei dati ed arrivi dove può.

Unreal.2K7
25-12-2011, 23:16
Ho guardato le statistiche nella tab "performance" del task manager ma devo rifare dei controlli per sapere qual'è il processo che consuma la maggiorparte di cpu.

Comunque è un processore integrato sulla scheda madre (la scheda è una mini itx via epia m6000 con processore eden se non sbaglio).

Immaginavo che non potesse stare dietro a tutto, però ogni volta che cercavo di problemi di rallentamento anormale sulle reti gigabit trovavo thread dove dicevano che il gigabit potrebbe essere gestito anche da un processore a 400mhz se ci sono determinati requisiti hardware come il dma... se ritrovo il link della pagina dove l'ho letto lo posto


edit:

Ho trovato la pagina che dicevo:
http://www.dssnetworks.com/v3/FAQs.asp
In effetti a leggere bene indica che se si vogliono ottenere le velocità richieste bisogna avere una certa potenza di calcolo bisogna salire di potenza.

Dal sito che ho linkato:
Although the DMA-driven Gigabit Ethernet controller and driver can operate at wire-speeds with less than a 400 MHZ processor, processing Gigabit Ethernet using the TCP/IP protocol stack and socket API may require a 1 to 2 GHZ CPU to process payload data at speeds approaching wire-speed.


Eh vabbè. Vorrà dire che vendo tutto e prendo una AT3GC-I (sperando di risolvere il problema) che ho trovato una buona offerta... grazie dell'aiuto!