PDA

View Full Version : Problema di I/O via network


EdoFede
18-09-2010, 12:35
Ciao a tutti.

Chiedo un aiuto per risolvere un problemino di I/O che ho con il mio server casalingo.
Non ho postato nella sezione server perché ritengo che il problema sia di altra natura.

Il serverino é un vecchio dell 400SC così configurato:
- Cpu P4 3GHz
- 4GB ram DDR 400 MHz


2 dischi da 120GB ATA connessi alle porte della scheda madre
6 dischi da 1TB SATA connessi al controller sata Dell CERC (Adaptec 2610SA) PCI

Sistema operativo: Solaris 10 (kernel 142901-12)
File system: ZFS

Zpool rpool = 2x120GB (mirror)
Zpool zd1 = 6x1TB (raidz)

Il server viene usato principalmente per sharing sulla rete locale via NFS (mac e NMT) e via samba.
I vari file system ZFS sono esportati verso i client e vengono usate le ACL per i permessi di accesso.


Riscontro grossi problemi di performance nelle letture e scritture su disco via rete.

Ho fatto i seguenti test con alcuni file da circa 700MB:

- copia da zd1 a /tmp > 80-90 MB/s
- copia da /tmp a zd1 > 70 MB/s
- copia network da client ftp a /tmp > 90-100 MB/s
- copia network da client ftp a zd1 > 25 MB/s (con costanti picchi ed interruzioni)
- copia network da zd1 a client ftp > 35 MB/s (abbastanza costanti)


In pratica, singolarmente funziona tutto bene, ma sommando traffico di rete con i/o sui dischi, le performance crollano.
Sembra che ci sia una sorta di bus condiviso ad uso esclusivo, come quando si collegano due dischi IDE in master/slave e si trasferisce da uno all'altro, in particolare durante le scritture.
Durante il trasferimento da client a zd1, la cpu non satura, ma raggiunge il 50% (di kernel time). Allego grafico del traffico rete ed il "top" durante il trasferimento.

Secondo voi é dovuto al bus PCI?
C'è qualche modo per aggirare il problema?

Grazie mille. :)


Ciao,
Edo.





last pid: 1809; load avg: 0.38, 0.10, 0.04; up 0+02:11:41 13:32:04
89 processes: 87 sleeping, 1 zombie, 1 on cpu
CPU states: 48.8% idle, 0.5% user, 50.7% kernel, 0.0% iowait, 0.0% swap
Memory: 3903M phys mem, 3172M free mem, 2048M swap, 2048M free swap

PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
1807 root 1 60 0 3488K 2328K sleep 0:10 15.40% in.ftpd
1798 root 1 59 0 2184K 1416K cpu 0:00 0.30% top
7 root 13 59 0 13M 11M sleep 0:03 0.04% svc.startd
702 root 1 59 0 15M 12M sleep 0:02 0.03% Xorg
761 root 14 59 0 11M 9472K sleep 0:02 0.03% svc.startd
161 root 30 59 0 6532K 3036K sleep 0:00 0.03% nscd
807 root 1 59 0 11M 7528K sleep 0:01 0.02% dtgreet
1292 root 1 59 0 6440K 3896K sleep 0:00 0.02% sshd
9 root 17 59 0 11M 9932K sleep 0:11 0.01% svc.configd
390 root 4 59 0 6008K 3268K sleep 0:00 0.00% inetd