Sto avendo prestazioni molto incoerenti con NFS tra due macchine sibilanti e non riesco a inchiodarle.
Impostare:
Macchina 1 "video1": doppio 5506 w / 12 GB di RAM, XFS su RAID6 8x3 TB esportato come "video1" da "/ mnt / storage"
Macchina 2 'storage1': Phenom X2 @ 3.2Ghtz con ram da 8 GB, ZFS su 5x2 TB esportato come 'storage1' da / mnt / storage1-storage
Performance di scrittura locale:
mackek2@video1:/mnt/storage/testing$ dd if=/dev/zero of=localwrite10GB bs=5000k count=2000
2000+0 records in
2000+0 records out
10240000000 bytes (10 GB) copied, 16.7657 s, 611 MB/s
Performance di lettura locale:
Entrambi sono collegati allo stesso switch gigabit HP e iperf offre una solida roccia da 940 Mbps in entrambi i modi.
Il mio problema è che quando scrivo al video1 esportazione dallo storage1, le prestazioni sono ovunque. Sembra per i primi (5-7) concerti di trasferimento file (spero di spostare i file AVCHD o MJPEG da 30-120 GB il più rapidamente possibile), le prestazioni vanno da 900 Mbps, fino a 150-180 Mbps, quindi lento come 30 Mbps. Se riavvio il server del kernel NFS, le prestazioni aumentano per qualche altro concerto.
mackek2@storage1:/mnt/video1/testing$ dd if=/dev/zero of=remoteWrite10GB count=2000 bs=5000K
2000+0 records in
2000+0 records out
10240000000 bytes (10 GB) copied, 223.794 s, 45.8 MB/s
mackek2@storage1:/mnt/video1/testing$ dd if=/dev/zero of=remoteWrite10GBTest2 count=2000 bs=5000K
2000+0 records in
2000+0 records out
10240000000 bytes (10 GB) copied, 198.462 s, 51.6 MB/s
mackek2@storage1:/mnt/video1/testing$ dd if=/dev/zero of=bigfile776 count=7000 bs=2000K
7000+0 records in
7000+0 records out
14336000000 bytes (14 GB) copied, 683.78 s, 21.0 MB/s
mackek2@storage1:/mnt/video1/testing$ dd if=/dev/zero of=remoteWrite15GB count=3000 bs=5000K
3000+0 records in
3000+0 records out
15360000000 bytes (15 GB) copied, 521.834 s, 29.4 MB/s
Quando le cose vanno veloci, nfsiostat sul client fornisce RTT medi di pochi ms, ma scatta fino a oltre 1,5 secondi RTT non appena le prestazioni diminuiscono. Inoltre, la profondità della coda della CPU salta fino a oltre 8 durante la scrittura.
Ora, leggendo dalla stessa esportazione, ottengo bellissimi 890 Mbps che do o prendo qualche mbps per l'intera lettura.
mackek2@storage1:/mnt/video1/testing$ dd if=remoteWrite10GBTest2 of=/dev/null
20000000+0 records in
20000000+0 records out
10240000000 bytes (10 GB) copied, 89.82 s, 114 MB/s
mackek2@storage1:/mnt/video1/testing$ dd if=remoteWrite15GB of=/dev/null
30000000+0 records in
30000000+0 records out
15360000000 bytes (15 GB) copied, 138.94 s, 111 MB/s
La stessa cosa accade al contrario con storage1 come server NFS. La coda della CPU salta in su, la velocità scende a schifo e mi tiro fuori i capelli.
Ho provato ad aumentare il numero di demoni NFS fino a 64, e sputa ancora dopo alcuni concerti.