Posted on 2011/08/18 19:16
Filed Under 클러스터란/파일시스템_CFS 조회수:

GlusterFS vs NFS 기본 성능 결과 [1] - single file 에 대한 성능 비교

작성자 : 서진우 (alang@clunix.com)
작성일 : 2011년 8월 18일

결론은 single file에 대해서는 NFS의 성능이 GlusterFS에 비해 월등히 좋다는 것을 알수 있다.
특히 파일 크기가 작으면서 단일 쓰레드에 의한 단일 파일 접근의 경우 NFS와 비교하기 힘들 정도의 성능차이가 난다. 하지만 파일의 크기가 GByte급으로 파일의 크기가 크고, GlusterFS가 stripe volume구성으로 되어 있다면 얘기는 달라진다.

GlusterFS 역시 Server와 Client 연결 방식은 NFS와 거의 유사하다. 다만 GlusterFS의 경우 다른 분산파일시스템 처럼 별도의 메타서버를 통해 메타정보를 관리하지는 않지만, 각 파일 서버 내에서 보유하고 있는 파일에 대한 메타 정보를 파일시스템 자체에서 관리해야하고, 전체 Gluster 파일 서버 간에는 해당 파일이 어느 서버에 존재하는지에 대한 기본적인 메타 정보는 통합하여 공유를 하게 된다.
 
파일에 대한 접근 시, 이런 메타 정보를 얻기위한 부가적인 operation이 발생하기 때문에 아무리 큰파일이라고 해도 distributed 방식의 volume 구성에서는 NFS 보다 15%정도의 성능 저하가 있다. 하지만 GlusterFS의 volume 구성이 stripe 구성으로 되어 있을 경우, GlusterFS 파일 서버수(stripe수) 증가에 따라 그 성능은 Liner 하게 증가하는 것을 확인했다. NFS의 경우 성능이 100% 일때, NFS는 확장이 안되므로 영원히 100%의 성능이지만, GlusterFS의 경우에는 "85% x n(파일서버수)" 으로 성능이 증가하는 것을 확인했다. ( 단일 클라이어트에서 생성할 수 있는 최대 성능까지 보장..)

또한 NFS의 경우 shared volume 에 접근하는 I/O 수가 많을 수록, 1개의 I/O 쓰레드에 보장되는 성능이 급격히 떨어지지만, GlusterFS의 경우에는 파일서버수에 따라 85% 수준으로 성능이 지속적으로 유지되게 된다.

NFS 서버 1대에 8대의 Client가 2Gbye 의 파일을 읽고 쓰고 할 경우, memory cache의 영향을 제거한 순수 디스크 처리 성능은 2Mbyte~5Mbyte(Full Throughput : 15~40MByte)정도로 떨어진다. 4대의 Gluster 파일서버로 구성된 경우에는 GlusterFS Client에서는 적어도 각각 Client에서 13Mbyte~17Mbyte(Full Throughput : 110~115Mbype) 정도의 성능이 나타나는 것을 확인했다.

아래 내용은 iozone -aR 을 통해 측정한 아주 기본적인 테스트 결과값을 plot화 시킨것이다.
그냥 기본적으로 참고하면 될듯 하며, 이후 실제 응용환경과 유사한 테스트 조건의 성능 결과와
실제 Disk I/O을 많이 유발하는 응용 SW를 구동하여 그 성능 결과를 차례로 포스팅할 계획이다.
 
Left : GlusterFS, Right : NFS
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
Writer profile
author image
-아랑 -

트랙백 주소 : 이 글에는 트랙백을 보낼 수 없습니다

About

by 서진우

Counter

· Total
: 4721137
· Today
: 80
· Yesterday
: 935