[질문] CIFS vs NFS 성능차이 및 CIFS의 성능을 올리기 위한 방법
안녕하세요
항상 손님으로만 구경하다가 질문을 올립니다.
(휴..요즘 TMAX 윈도 논란이 뜨겁네요)
제가 임베디드 리눅스기반으로 장비를 개발중인데요
임베디드 장비를 NFS 클라이언트로 할때와 CIFS 클라이언트로 할때
네트워크 속도차이가 생각보다 크더군요
(러프하게 말하자만 NFS가 1.5배이상 빠른것 같습니다)
처음엔 성능차이를 생각도 못했다가..
CIFS로 HD급 동영상 재생할때 끊김현상이 발생해서 이래저래 테스트하게 되었습니다.
NFS로 하면 끊김현상이 없습니다.
그러면 NFS를 쓰면 좋겠는데.. 두가지 문제가 있습니다.
문제1) NFS는 윈도우 공유를 처리해주지 못합니다.
검색해보니 윈도에서 NFS쓸 수 있는 WinNFS 데몬같은것도 있지만
일반 유저입장에서는 사용하기 어려우니깐요
문제2) 또 NFS는 가끔 가다가 시스템이 먹통이 되는 현상이 생깁니다.
저 뿐만이 아니라 다른 회사 분도 같은 현상인데.. 해결이 어렵네요
CIFS는 네트워크 문제가 생기더라도 시스템이 먹통이 되진 않거든요
결국 최종결론은 CIFS의 성능을 최대한 끌어올리자는 걸로 났구요
그리하여 이렇게 질문을 올리게 되었습니다.
어떤 부분을 고쳐야 CIFS의 성능을 최대한 끌어올릴수 있을까요?
어떤 부분이 CIFS의 성능과 관련된 사항인지요?
P.S) 구글 검색어나 힌트라도 좀 부탁드립니다.
해당문제는
CIFS tcp windows size가 default 값으로 묶여 있어서 그렇습니다
수정하여주시면 됩니다.
그다지 효과가 없다고 필자는 밝히고 있지만 참고는
참고해 해보세요.
http://blog.dhampir.no/content/cifs-vfs-no-response-for-cmd-n-mid
근데 국내 모 블로거가 위 링크를 적용해 봤으나 실제 효과는 미미하다고 고백을...
저도 이문제로 고민하고 해결 방법을 찾아 보려
저도 이문제로 고민하고 해결 방법을 찾아 보려 했지만, CIFS 프로토콜 자체의 한계로 인해 튜닝효과는 미미합니다.
CIFS 자체가 많은, 자주 파일을 교환하는 용도로 만들어진게 아니다보니 성능에대한 기대를 버리셔야 할 듯 싶네요.
소스를 직접 본건 아니지만, CIFS에서 caching 처리 부분 때문에 성능에 문제가 있는 것 같아 보이더군요.
더군다나 연결된 클라이언트가 많아지면 성능은 더욱 급격히 낮아 집니다.
NFS 역시도 먹통이 되는 현상이 있습니다. v3, v4 마찬가지 입니다.
임베디드 환경이라면 webDAV를 검토 해 보시는건 어떨까요?
스트리밍이라면 FTP로 처리하는 경우도 본적 있습니다.
훨씬 가볍고 더 많은 클라이언트를 처리 할 수 있을 것 같아 보이네요.
개인적으로는 iSCSI를 추천합니다.
개인적으로는 iSCSI를 추천합니다.
댓글 달기