Ottimizzare intel X520

hellamasta

Dabbler
Joined
Apr 4, 2022
Messages
27
Ciao, sono Alessio e sono nuovo di questo forum. Uso TrueNAS da circa un anno, ma solo ora sto studiando un po' come testare ed ottimizzare il sistema per quanto mi è possibile.
So che l'argomento della scheda di rete da 10 Gbit è stato discusso abbastanza e ho letto molti post senza trovare una soluzione per la mia situazione.
Per prima cosa: ho un NAS costruito con pezzi di ricambio provenienti da alcuni vecchi PC. Ecco un elenco dell'hardware:
- AMD Phenom II X6
- gigabyte ga880gm-ud2h
- 8 GB di RAM (saranno espansi a 16, il massimo che il MB può supportare)
- Scheda EDUP SATA III PCI-e
- 4 Seagate IronWolf da 2 TB (RAID-Z)
- 1 SSD da 60 GB per il sistema operativo

Sto usando TrueNAS core. Ho bisogno di accedere al NAS da 3 PC a casa mia, per l'editing di foto e video. Poiché i miei PC hanno una porta Ethernet da 2,5 Gbps, ho deciso di fare un primo passo per aggiornare la mia configurazione. Per prima cosa ho acquistato una scheda cinese da 2,5 Gbps, l'ho installata, modificato i Tunanles per caricare i driver (realtek) e tutto ha funzionato. Ho avuto una velocità di lettura di circa 240 MB/s e di scrittura di 260/MB/s. Tuttavia, se il server NAS non veniva utilizzato per alcune ore, la scheda rallentava (basso consumo?) fino a una velocità di trasferimento di circa 19 MB/s. Ho restituito la scheda e ho provato con una Trendnet, basata però sullo stesso chip Realtek. Stessa cosa. Ho guardato un po' sul forum e capito che quei chip non sono stabili e affidabili, soprattutto con sistemi Free-BSD. Quindi ho restituito anhe questa scheda e acquistato su ebay una Sun Oracle 7051223 basata su intel x520-DA2. Ho collegato il NAS ad uno switch Zyxel xgs1250-12 acquistato un paio di settimane fa con cavo DAC.
Tutto ha funzionato subito bene, tuttavia la velocità di lettura è inferiore a quella che avevo con la scheda cinese da 2,5 Gbps.
Ho circa 190 MB/s durante la lettura, mentre la scrittura è migliore: 280 MB/s.
Ho fatto alcuni test con file di grandi dimensioni e ho scoperto che la lettura è abbastanza costante (da 175 a 191) mentre la scrittura è a 285 MB/s per alcuni secondi e poi scende a 180 MB/s. La memoria disponibile si riempie molto rapidamente e ho notato che la velocità di scrittura rallenta quando la memoria è piena.

Posso capirlo e il sistema verrà aggiornato al più presto, tuttavia vorrei ottenere una migliore velocità di lettura, se possibile. Ho provato con i suggerimenti di Tunable trovati sul forum:

Code:
sysctl kern.ipc.somaxconn=2048
sysctl kern.ipc.maxsockbuf=16777216
sysctl net.inet.tcp.recvspace=4194304
sysctl net.inet.tcp.sendspace=2097152
sysctl net.inet.tcp.sendbuf_max=16777216
sysctl net.inet.tcp.recvbuf_max=16777216
sysctl net.inet.tcp.sendbuf_auto=1
sysctl net.inet.tcp.recvbuf_auto=1
sysctl net.inet.tcp.sendbuf_inc=16384
sysctl net.inet.tcp.recvbuf_inc=524288


Tuttavia sembra che non abbiano alcun effetto. Ho dato un'occhiata ad ogni parametro e, correggetemi se sbaglio, ho visto che sono utili quando si gestiscono un numero elevato di connessioni che inviano molti dati in entrata e in uscita, il che non è il mio caso considerando che di solito ho bisogno di velocità solo da un PC alla volta.

Qualcuno può aiutarmi a capire i parametri utili e, magari, come posso migliorare un po' il mio sistema?

Grazie in anticipo.
 

glauco

Guru
Joined
Jan 30, 2017
Messages
526
Ciao, non mi sento un esperto, quindi prendi con le pinze. Non ho ben capito se il problema è la velocità via rete o di lettura dai dischi.
Per escludere che il problema sia la rete, farei dei test con iperf3. Se le schede di rete sono decenti/decentemente supportate da FreeBSD, dovresti avere poca variabilità nei risultati.
Se invece il problema è nei dischi/RAM, penso che beneficeresti dall'aumento della RAM a 16GB, perché per come funziona ZFS, la maggiore quantità di RAM farà sì che i file più frequentemente/recentemente usati vengano memorizzati nella Adaptive Replacement Cache (ARC, cioè in RAM).
Se il problema è la rete e vuoi provare dei driver più aggiornati, potresti provare TrueNAS Scale su un altro disco di boot, oppure migrare a Scale, se non sbaglio tornare indietro dovrebbe essere semplice.
 

hellamasta

Dabbler
Joined
Apr 4, 2022
Messages
27
Ciao, non mi sento un esperto, quindi prendi con le pinze. Non ho ben capito se il problema è la velocità via rete o di lettura dai dischi.
Per escludere che il problema sia la rete, farei dei test con iperf3. Se le schede di rete sono decenti/decentemente supportate da FreeBSD, dovresti avere poca variabilità nei risultati.
Se invece il problema è nei dischi/RAM, penso che beneficeresti dall'aumento della RAM a 16GB, perché per come funziona ZFS, la maggiore quantità di RAM farà sì che i file più frequentemente/recentemente usati vengano memorizzati nella Adaptive Replacement Cache (ARC, cioè in RAM).
Se il problema è la rete e vuoi provare dei driver più aggiornati, potresti provare TrueNAS Scale su un altro disco di boot, oppure migrare a Scale, se non sbaglio tornare indietro dovrebbe essere semplice.
Ciao, innanzitutto grazie della risposta.
Ieri sera ho effettuato i test iperf3 e il risultato è abbastanza strano, ma in linea con le velocità di copia file
Code:
TRUNAS (client) TO WINDOWS (SERVER)
Accepted connection from 192.168.1.xxx, port 51084
[  5] local 192.168.1.yyy port 5201 connected to 192.168.1.xxx port 51085
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   257 MBytes  2.15 Gbits/sec
[  5]   1.00-2.00   sec   283 MBytes  2.37 Gbits/sec
[  5]   2.00-3.00   sec   283 MBytes  2.37 Gbits/sec
[  5]   3.00-4.00   sec   283 MBytes  2.37 Gbits/sec
[  5]   4.00-5.00   sec   283 MBytes  2.37 Gbits/sec
[  5]   5.00-6.00   sec   283 MBytes  2.37 Gbits/sec
[  5]   6.00-7.00   sec   283 MBytes  2.37 Gbits/sec
[  5]   7.00-8.00   sec   283 MBytes  2.37 Gbits/sec
[  5]   8.00-9.00   sec   283 MBytes  2.37 Gbits/sec
[  5]   9.00-10.00  sec   283 MBytes  2.37 Gbits/sec
[  5]  10.00-10.00  sec   590 KBytes  2.35 Gbits/sec

WINDOWS(client) TO TRUENAS (server)
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.yyy, port 55086
[  5] local 192.168.1.xxx port 5201 connected to 192.168.1.yyy port 43751
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec   134 MBytes  1.12 Gbits/sec
[  5]   1.00-2.00   sec   157 MBytes  1.31 Gbits/sec
[  5]   2.00-3.00   sec   168 MBytes  1.41 Gbits/sec
[  5]   3.00-4.00   sec   174 MBytes  1.46 Gbits/sec
[  5]   4.00-5.00   sec   172 MBytes  1.44 Gbits/sec
[  5]   5.00-6.00   sec   173 MBytes  1.45 Gbits/sec
[  5]   6.00-7.00   sec   172 MBytes  1.44 Gbits/sec
[  5]   7.00-8.00   sec   172 MBytes  1.45 Gbits/sec
[  5]   8.00-9.00   sec   172 MBytes  1.44 Gbits/sec
[  5]   9.00-10.00  sec   171 MBytes  1.44 Gbits/sec
[  5]  10.00-10.12  sec  21.1 MBytes  1.45 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.12  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-10.12  sec  1.65 GBytes  1.40 Gbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------


quindi in lettura dal NAS viaggio a 1.45Gbits/sec, in scrittura quasi alla piena velocità della scheda a 2.5Gbps.
Qualche idea?
 

glauco

Guru
Joined
Jan 30, 2017
Messages
526
Mmmh, strano che ci sia tutta questa differenza... non è che hai peggiorato le prestazioni impostando quei tunables?
Se non richiede troppo sbattimento, potresti provare con una installazione from scratch di TrueNAS Core o Scale e vedere se ottieni gli stessi risultati, per capire se il problema sono i driver di rete su TrueNAS o le altre schede di rete lungo il percorso (switch e altro endpoint).
 

hellamasta

Dabbler
Joined
Apr 4, 2022
Messages
27
Mmmh, strano che ci sia tutta questa differenza... non è che hai peggiorato le prestazioni impostando quei tunables?
Se non richiede troppo sbattimento, potresti provare con una installazione from scratch di TrueNAS Core o Scale e vedere se ottieni gli stessi risultati, per capire se il problema sono i driver di rete su TrueNAS o le altre schede di rete lungo il percorso (switch e altro endpoint).
Non vedendo vantaggi li ho rimossi tutti tornando alle impostazioni di base.
 

glauco

Guru
Joined
Jan 30, 2017
Messages
526
Non vedendo vantaggi li ho rimossi tutti tornando alle impostazioni di base.
Ok, mi puoi confermare che sono tornati tutti alle impostazioni iniziali riportando l'output del seguente comando?
sysctl kern.ipc.somaxconn kern.ipc.maxsockbuf net.inet.tcp.recvspace net.inet.tcp.sendspace net.inet.tcp.sendbuf_max net.inet.tcp.recvbuf_max net.inet.tcp.sendbuf_auto net.inet.tcp.recvbuf_auto net.inet.tcp.sendbuf_inc net.inet.tcp.recvbuf_inc
 

hellamasta

Dabbler
Joined
Apr 4, 2022
Messages
27
Ok, mi puoi confermare che sono tornati tutti alle impostazioni iniziali riportando l'output del seguente comando?
sysctl kern.ipc.somaxconn kern.ipc.maxsockbuf net.inet.tcp.recvspace net.inet.tcp.sendspace net.inet.tcp.sendbuf_max net.inet.tcp.recvbuf_max net.inet.tcp.sendbuf_auto net.inet.tcp.recvbuf_auto net.inet.tcp.sendbuf_inc net.inet.tcp.recvbuf_inc
confermo
 

glauco

Guru
Joined
Jan 30, 2017
Messages
526
Scusa, c'è stato un qui pro quo, intendevo se puoi incollare qui l'output di quel comando sulla tua macchina, così confronto con la mia...
 

hellamasta

Dabbler
Joined
Apr 4, 2022
Messages
27
Scusa, c'è stato un qui pro quo, intendevo se puoi incollare qui l'output di quel comando sulla tua macchina, così confronto con la mia...
Scusami tu...e scusa il ritardo, ma non ho avuto tempo negli ultimi giorni.
Ecco l'output:
Code:
kern.ipc.somaxconn: 128
kern.ipc.maxsockbuf: 2097152
net.inet.tcp.recvspace: 65536
net.inet.tcp.sendspace: 32768
net.inet.tcp.sendbuf_max: 2097152
net.inet.tcp.recvbuf_max: 2097152
net.inet.tcp.sendbuf_auto: 1
net.inet.tcp.recvbuf_auto: 1
net.inet.tcp.sendbuf_inc: 8192
net.inet.tcp.recvbuf_inc: 16384
 

glauco

Guru
Joined
Jan 30, 2017
Messages
526
Ok, i valori coincidono con quella della mia macchina con TrueNAS Core...
io fossi in te booterei sia il PC che la macchina con TrueNAS da chiavette USB con versioni di Linux minimali che girino in RAM, senza installare niente, e ripeterei i test con iperf3.
 
Top