삼바 성능 디버깅을위한 팁?


8

Samba는 24MB / s 읽기 및 44MB / s 쓰기를 제공하는 반면 ftp는 동일한 환경에서 97 및 112MB / s를 제공합니다.

설명서를 말한다

일반적으로 Samba는 원시 전송 속도에서 ftp와 비슷하게 작동합니다.

내 경우에는 분명히 그렇지 않습니다.

Samba 성능을 디버깅하는 방법에 대한 팁은 어디서 찾을 수 있습니까?

아니면 삼바를 다른 것으로 대체하기위한 팁? (rsync / rsnapshot과 함께 사용할 수있는 것이 필요하기 때문에 불행히도 ftp를 사용할 수 없습니다.)

자세한 내용은:

  • 두 컴퓨터 모두 Ubuntu 10.10을 실행 중입니다 (Mac도 있기 때문에 Samba 사용)
  • Samba 공유는 로컬 홈 네트워크에 있으며

    $ mount
    ...
    //server.local/share/ on /mnt/share type cifs (rw,mand)
    
  • 삼바 성능은 cp~ 4GB의 단일 파일을 공유 에 복사 ( )하여 time수동으로 전송 속도를 타이밍하고 계산 하여 테스트했습니다 .

  • ftp 성능은 동일한 파일을 가져 오거나 입력하기위한 ftp 클라이언트의 숫자입니다.
  • iperf 네트워크 속도 ~ 900 Mbits / s
  • bonnie++ 블록 읽기 및 블록 쓰기를 위해 양쪽에서 디스크 속도> 200 MB / s
  • 성능 튜닝 HOWTO (읽기 / 쓰기 원시, 읽기 크기, 소켓 옵션) 에서 제안 된 매개 변수를 변경하려고 시도했지만 , 거의 차이가 없었습니다. (차이가있는 것으로 인해 쓰기 속도가 50 % 감소했습니다.)

업데이트 : 2009 년 Samba 메일 링리스트 에 따르면 성능 문제는 Samba 서버가 아닌 smbfs / cifs에서 비롯됩니다.
jg-faustus

답변:


3

실제로 FTP는 일단 데이터 처리 속도가 매우 빨라집니다. 작업 속도를 늦추는 오버 헤드는 처음에 파일을 다운로드하는 것입니다. Samba에 문제가 없다고 말하는 것은 아닙니다. 거의 동일하게 수행해야합니다.

솔직히 말해서, 당신이 이것을 고치려고 시작해야 할 곳이별로 없습니다.

이상적으로 Samba (예 : Windows)의 참조 설치를 통해 다른 컴퓨터를 설치하고 우분투 머신에 대해 클라이언트 및 서버로 테스트 할 수 있습니다. 그런 다음 문제가 발생한 한 방향 일 경우 어떤 기계가 문제 였는지 알 수 있으며이를 바탕으로 버그를보고하거나 임시 해결책을 찾을 수 있습니다.

얼마 전 나는 Samba에서 특정 네트워크 하드웨어 결함에 대해 뭔가를 보았다. 스위치와 네트워크 어댑터 둘 다 였지만 인생의 어떤 것도 찾을 수 없습니다. 아마도 고려할 가치가없는 가장자리 케이스 일 것입니다.

삼바를 피할 수 있을까요? FTP가 작동하지 않을 수 있지만 NFS는 어떻습니까? 아마도 내 경험상 가장 많은 전송 속도를 가지고 rsync를 잘 처리해야합니다.

FTP 서버를 퓨즈로 마운트하여 rsync가 괴롭히는 것을 볼 수도 있습니다.


팁과 피드백을 보내 주셔서 감사합니다. FTP를 cifs 마운트 할 수 있을지 몰랐습니다. NFS도 살펴 보겠습니다. Samba의 성능이 좋지 않은 것이 Ubuntu와 관련이없는 사소한 것이라면 Samba 메일 링리스트 또는 여기가 아닌 다른 것입니까?
jg-faustus

당신은 아마 내가 얻을 최고의 답변입니다 :) 다시 감사합니다.
jg-faustus

1
ftp 리소스를 마운트 할 수 있습니다 : curlftpfs [user @] host : [dir] 마운트 포인트 [옵션]
jet

1

ssh를 통해 rsync를 실행하면 어떤 성능을 얻습니까? 어쩌면 당신은 ssh로 rsync를 수행 한 다음 Mac간에 물건을 전송할 필요가있을 때 삼바를 사용할 수 있습니까?


ssh를 통한 rsync는 Samba와 FTP 사이의 중간 쯤에 60MB / s를 제공합니다. 그러나 데몬 모드의 rsync (하나의 컴퓨터가 rsync 서버가 됨)가 FTP와 동등한 다른 팁을 보았습니다. 다음에 시도해 보겠습니다.
jg-faustus

1

smb.conf에서 시도해 볼 수 있습니다

socket options = SO_KEEPALIVE SO_REUSEADDR \
   SO_BROADCAST TCP_NODELAY IPTOS_LOWDELAY \
   IPTOS_THROUGHPUT SO_SNDBUF=8192 SO_RCVBUF=8192

oplocks = yes

write raw = yes
read raw = yes

나는 그들 중 일부를 시도했다. TCP_NODELAY : 작은 개선. 원시 쓰기 및 원시 읽기 : 식별 가능한 차이가 없습니다. SO_SNDBUF 및 SO_RCVBUF : 50 %의 쓰기 성능 감소는 더 이상 추구하지 않았습니다. 기회가 생겼을 때 나머지를 확인하겠습니다.
jg-faustus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.