데비안에서 NFS 성능 문제


9

두 개의 희미한 컴퓨터 사이에서 NFS의 성능이 일관 적이 지 않아서 제대로 작동하지 않는 것 같습니다.

설정:

머신 1 'video1': 듀얼 5506 w / 12GB 램, 8x3TB RAID6의 XFS는 '/ mnt / storage'에서 'video1'로 내보냈습니다.

머신 2 'storage1': Phenom X2 @ 3.2Ghtz w / 8GB 램, 5x2TB의 ZFS는 / mnt / storage1-storage에서 'storage1'로 내보내기

로컬 쓰기 성능 :

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

로컬 읽기 성능 :

둘 다 동일한 HP 기가비트 스위치에 연결되어 있으며 iperf는 견고한 940mbps를 제공합니다.

내 문제는 storage1에서 video1 내보내기에 쓸 때 성능이 모든 곳에서 발생한다는 것입니다. 파일 전송의 처음 몇 (5-7) 기가 (가능한 한 빨리 30-120GB AVCHD 또는 MJPEG 파일을 옮기기를 바라고 있습니다), 성능은 900mbps에서 150-180mbps로 내려갑니다. 30mbps로 느립니다. NFS 커널 서버를 다시 시작하면 성능이 약간 더 향상됩니다.

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

상황이 빠르게 진행될 때 클라이언트의 nfsiostat는 평균 몇 RTT의 평균 RTT를 제공하지만 성능이 떨어지 자마자 최대 1.5 초 RTT를 쏜다. 또한 쓰기가 진행되는 동안 CPU 큐 용량이 8 이상으로 올라갑니다.

이제 동일한 내보내기에서 읽을 때 전체 읽기에 대해 아름다운 890Mbps를 제공하거나 몇 mbps를 얻습니다.

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

NFS 서버와 마찬가지로 storage1을 사용하는 것과 같은 방식으로 발생합니다. CPU 대기열이 위로 올라가고 속도가 떨어지며 머리카락이 빠집니다.

NFS 데몬의 수를 최대 64 개로 늘리려 고 시도했지만 몇 번의 작업 후에도 여전히 스퍼터링됩니다.


... 내보내기의 비동기 옵션이 수정되었습니다. 이제 점보 프레임으로 몇 개의 mbps를 더 얻을 수 있는지 확인하십시오.
Kyle M

1
다른 사람이 문제가 해결되었음을 알 수 있도록 답변으로 게시하고 수락하십시오.
mgorven

답변:


4

마운트 또는 내보내기 옵션이 포함되어 있지 않으므로 NFS에 성능에 영향을 줄 수있는 여러 가지가 있습니다. 경험에 따라 NFS 성능과 안정성을 극대화하려면 다음 옵션을 사용하는 것이 좋습니다.

  • 마운트 옵션 : tcp,hard,intr,nfsvers=3,rsize=32768,wsize=32768

  • 내보내기 옵션 : async


위의 마운트 옵션도 Oracle이 NFS를 통해 Oracle을 실행하기 위해 권장하는 옵션입니다.
Christopher Cashell

위의 팁으로 성능을 크게 향상시킬 수 있었지만 nfsvers=3필요하지 않았습니다.
anarcat

@anarcat-최신 릴리스의 경우 정확하고 nfsvers=3중요하지 않습니다. 버전 3을 지정하지 않은 경우 Linux NFS 마운트는 기본적으로 NFS 버전 2로 사용됩니다.이 경우 버전을 명시 적으로 설정하는 것이 좋습니다. 최신 릴리스에서는 mount가 v4부터 시작하여 v3를 시도한 다음 v2로 넘어갑니다.
Christopher Cashell
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.