본문 바로가기
정보통신기술

macOS에서 Samba 공유를 불러올때 파일 개수가 많을 경우 느려지는 이유

by 주니미 2025. 1. 11.
반응형

macOS에서 Samba 공유 디렉토리를 사용할 때 파일 개수가 많을 경우 불러오기가 오래 걸리는 이유는 다음과 같습니다:

원인

  1. 디렉토리 스캔 속도: macOS는 Samba 공유 디렉토리를 읽을 때 디렉토리 안의 모든 파일을 스캔하며 메타데이터(파일 이름, 크기, 수정 시간 등)를 로드합니다. 파일 개수가 많으면 이 작업이 느려질 수 있습니다.
  2. SMB 프로토콜 설정: macOS는 기본적으로 SMB 프로토콜의 최신 버전을 사용합니다(SMB 3.0). 서버와 클라이언트 간의 SMB 버전 호환성 문제로 인해 성능이 저하될 수 있습니다.
  3. .DS_Store 파일 생성: macOS는 각 디렉토리마다 .DS_Store 파일을 생성하고 이를 읽거나 기록하려 합니다. 이는 대규모 디렉토리에서 추가적인 I/O를 유발합니다.
  4. SMB 서버의 성능: Samba 서버의 설정이 최적화되어 있지 않거나, 파일 개수가 많은 디렉토리를 처리할 때 병목현상이 발생할 수 있습니다.
  5. 네트워크 지연: 네트워크 대역폭이 낮거나 패킷 손실이 많을 경우 불러오기 시간이 증가할 수 있습니다.


해결책

1. macOS 클라이언트 측 해결책

  • .DS_Store 파일 생성을 비활성화:
    터미널에서 다음 명령어를 실행하여 .DS_Store 파일 생성을 방지합니다.
  defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

그런 다음 Finder를 다시 시작합니다:

  killall Finder
  • SMB 캐시 활성화:
    Finder가 네트워크 공유에서 메타데이터를 캐싱하도록 설정합니다.
  defaults write com.apple.Finder FXEnableExtensionChangeWarning -bool false
  • SMB 버전 강제 설정:
    네트워크 공유 연결 시 SMB 2.0이나 SMB 1.0을 강제로 사용하도록 설정할 수 있습니다. 예를 들어:
  cifs://server_address/share

또는 Finder에서 smb://server_address/share 대신 cifs://를 사용해 연결 시도.


2. Samba 서버 측 해결책

  • Samba 설정 최적화:
    smb.conf 파일에서 다음 설정을 추가하거나 조정합니다:
  [global]
  vfs objects = catia fruit streams_xattr
  fruit:metadata = stream
  fruit:model = MacSamba
  fruit:posix_rename = yes
  fruit:zero_file_id = yes
  fruit:wipe_intentionally_left_blank_rfork = yes
  fruit:delete_empty_adfiles = yes

이는 macOS와의 호환성을 개선하고 성능을 향상시킵니다.

  • 디렉토리 캐싱 활성화:
  [global]
  dirsort = true
  min receivefile size = 16384
  use sendfile = yes
  • 파일 탐색 속도 향상:
    smb.conf에서 readdir 관련 설정을 최적화합니다.
    [global]
    readdir_attr = true

3. 네트워크 최적화

  • MTU 확인 및 조정:
    클라이언트와 서버의 MTU 설정을 확인하고 동일하게 설정합니다(예: 1500).
  • QoS 적용:
    네트워크 대역폭 관리 정책(QoS)을 적용하여 SMB 트래픽 우선순위를 높입니다.

4. 대체 파일 브라우저 사용

macOS Finder가 느릴 경우, 속도가 빠른 제3자 파일 관리 프로그램(예: ForkLift)을 사용하여 대규모 디렉토리를 탐색합니다.


5. 파일 시스템 구조 개선

  • 디렉토리 재구조화:
    파일 개수를 줄이고 디렉토리 구조를 더 깊게 설계하여 한 디렉토리당 파일 개수를 제한합니다.

이 방법들을 적용하면 macOS에서 Samba 공유 디렉토리 불러오기 속도가 상당히 개선될 것입니다.

반응형