Tengo un rendimiento muy inconsistente con NFS entre dos máquinas con silbido, y parece que no puedo precisarlo.
Preparar:
Máquina 1 'video1': Dual 5506 con 12 GB de ram, XFS en 8x3TB RAID6 exportado como 'video1' desde '/ mnt / storage'
Máquina 2 'almacenamiento1': Phenom X2 @ 3.2Ghtz con 8GB de ram, ZFS en 5x2TB exportado como 'almacenamiento1' desde / mnt / storage1-storage
Rendimiento de escritura local:
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
Rendimiento de lectura local:
Ambos están conectados al mismo conmutador HP gigabit, e iperf ofrece 940mbps sólidos en ambos sentidos.
Mi problema es que cuando escribo en la exportación de video1 desde el almacenamiento1, el rendimiento está por todas partes. Parece que durante los primeros (5-7) conciertos de transferencia de archivos (espero mover los archivos AVCHD o MJPEG de 30-120GB lo más rápido posible), el rendimiento va de 900mbps, a 150-180mbps, por lo que lento como 30mbps. Si reinicio el servidor del kernel NFS, el rendimiento se recupera para algunos conciertos más.
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
Cuando las cosas van rápido, nfsiostat en el cliente proporciona RTT promedio de unos pocos ms, pero dispara a más de 1.5 segundos RTT tan pronto como el rendimiento cae. Además, la profundidad de la cola de la CPU salta a más de 8 mientras ocurre la escritura.
Ahora, cuando leo desde la misma exportación, obtengo 890Mbps hermosos o recibo unos pocos mbps para toda la lectura.
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
Lo mismo ocurre al revés con storage1 como el servidor NFS. La cola de la CPU salta, las velocidades caen a una mierda, y me saco el pelo.
He intentado aumentar el número de demonios NFS a 64, y todavía se escupe después de algunos conciertos.