NAS 성능 : NFS vs Samba vs GlusterFS


31

소규모 웹 서버 팜을위한 새로운 공유 스토리지 인프라를 계획하고 있습니다. 따라서 많은 NAS 파일 시스템으로 많은 테스트를 수행했습니다. 그렇게하면 예기치 않은 결과가 발생하고 여기 누군가가 이것을 확인할 수 있는지 알고 싶습니다.

한마디로 : Samba는 작은 파일 쓰기의 경우 NFS 및 GlusterFS보다 훨씬 빠릅니다.

여기 내가 한 일 : 작은 파일의 쓰기 성능을 비교하기 위해 많은 파일로 간단한 "rsync 벤치 마크"를 실행했습니다. 더 쉽게 재생할 수 있도록 현재 워드 프레스 tar.gz의 내용으로 지금 다시 실행합니다.

  • GlusterFS 복제 2 : 32-35 초 , 높은 CPU로드
  • GlusterFS 단일 : 14-16 초 , 높은 CPU로드
  • GlusterFS + NFS 클라이언트 : 16-19 초 , 높은 CPU로드
  • NFS 커널 서버 + NFS 클라이언트 (동기화) : 32-36 초 , 매우 낮은 CPU로드
  • NFS 커널 서버 + NFS 클라이언트 (비동기식) : 3-4 초 , CPU로드 매우 낮음
  • 삼바 : 4-7 초 , 중간 CPU로드
  • 직접 디스크 : <1

나는 절대 삼바 전문가가 아닙니다 (마지막 접촉은 삼바 2.x와의 관계라고 생각합니다). 그래서 나는 여기에서 아무것도 최적화하지 않았습니다-즉시 사용 가능한 구성 (debian / squeeze 패키지). 내가 "sync always = yes"를 추가 한 유일한 것은 쓰기 후에 동기화를 강제해야합니다 (그러나 그 결과를 봅니다 ..). 그것없이, 약 1-2 초 빠른 테스트.

동일한 테스트 (자체 탑재 NAS 내보내기)에서 실행되는 모든 테스트이므로 네트워크 지연이 없습니다. 순수한 프로토콜 성능.

사이드 노드 : 파일 시스템으로 ext4와 xfs를 사용했습니다. 위의 결과는 ext4입니다. xfs는 최대 40 % (보다 적은 시간) 더 나은 성능을 보였습니다. 머신은 EC2 m1.small 인스턴스입니다. NAS 내보내기는 임시 디스크의 소스 (추출 된 tar) 인 EBS 볼륨에 있습니다.

삼바가 왜 그렇게 빠른지 아무도 설명 할 수 없습니까?

또한 : 커널 서버의 NFS 성능이 동기화 모드에서 끔찍한 것으로 간주됩니까 (GlusterFS NFS 서버보다 성능이 우수합니까)? 이것을 조정하는 방법에 대한 아이디어가 있습니까?

고마워, L


잊어 버렸습니다 : NFS 측정은 rsize, wsize, noatime, noac, udp vs tcp 등으로 놀았 던 커플 중 최고입니다.
Linus Ardberk

3
연구 및 벤치 마크를 위해 +1!
Bigbio2002

1
SoftNAS의 개발 및 테스트 중에 CIFS와 NFS 성능의 차이가 동일하게 관찰되었습니다. 비동기 NFS가 NFS 동기화보다 훨씬 빠르다는 것을 확인할 수 있으며, Samba는 ATTO 벤치 마크 소프트웨어를 사용하여 실행 한 벤치 마크에서 NFS를 능가합니다.

3
그건 그렇고, 테스트 사이에 각 컴퓨터를 재부팅하여 디스크 읽기 캐시를 지우셨습니까?
Matt

답변:


5

우리는 Samba를 광범위하게 사용하며 거의 모든 경우에 항상 NFS보다 속도가 빠르다는 것을 알았습니다.

몇 번의 패킷 캡처 후에 보았던 것에서 SMB 프로토콜은 수다 스럽지만 최신 버전의 Samba는 SMB2를 구현하여 하나의 패킷으로 여러 명령을 발행하고 마지막에서 ACK를 기다리는 동안 여러 명령을 발행 할 수 있습니다. 다시 오라는 명령. 이것은 적어도 내 경험상 속도가 크게 향상되었으며 속도 차이도 처음 보았을 때 충격을 받았다는 것을 알고 있습니다. 네트워크 속도 문제 해결-오래된 질문

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.