느린 SMB 파일 전송 속도

SMB(서버 메시지 블록) 파일 전송 속도는 파일의 크기 및 수량, 연결 유형 및 사용하는 앱 버전에 따라 느려질 수 있습니다. 이 문서에서는 SMB를 통한 느린 파일 전송 속도에 대한 문제 해결 절차를 제공합니다.

느린 전송

현재 스토리지 사용을 확인하여 느린 파일 전송 문제를 해결할 수 있습니다. 파일 전송 속도가 느린 경우 다음 단계를 고려합니다.

  • 버퍼되지 않은 IO에 대한 파일 복사 명령을 사용해 보세요.

    • xcopy /J
    • robocopy /J
  • 스토리지 속도를 테스트합니다. 복사 속도는 스토리지 속도에 따라 제한됩니다.

  • 파일 복사본이 빠르게 시작된 다음 속도가 느려지는 경우가 있습니다. 복사 속도의 변경은 초기 복사가 메모리 또는 RAID 컨트롤러의 메모리 캐시에서 캐시되거나 버퍼링되고 캐시가 부족할 때 발생합니다. 이렇게 변경하면 데이터가 디스크에 직접 기록됩니다(쓰기 통과).

    이 상황을 확인하려면 스토리지 성능 모니터 카운터를 사용하여 시간이 지남에 따라 스토리지 성능이 저하되는지 여부를 확인합니다. 자세한 내용은 SMB 파일 서버에 대한 성능 조정을 참조하세요.

  • RAMMap(SysInternals)을 사용하여 메모리의 "매핑된 파일" 사용량이 사용 가능한 메모리 소모로 인해 증가하지 않는지 여부를 확인합니다.

  • 추적에서 패킷 손실을 찾습니다. 패킷 손실은 TCP 정체 공급자에 의해 제한을 일으킬 수 있습니다.

  • SMBv3 이상 버전의 경우 SMB 다중 채널이 사용하도록 설정되고 작동하는지 확인합니다.

  • SMB 클라이언트에서 SMB에서 큰 MTU를 사용하도록 설정하고 다음 cmdlet을 실행하여 대역폭 제한을 사용하지 않도록 설정합니다.

    Set-SmbClientConfiguration -EnableBandwidthThrottling 0 -EnableLargeMtu 1
    

작은 파일의 느린 전송

작은 파일의 느린 전송은 파일이 많을 때 가장 일반적으로 발생합니다. 이 발생은 예상되는 동작입니다.

파일을 전송하는 동안 파일을 만들면 높은 프로토콜 오버헤드와 높은 파일 시스템 오버헤드가 모두 발생합니다. 대용량 파일 전송의 경우 이러한 비용은 한 번만 발생합니다. 많은 수의 작은 파일이 전송되면 비용이 반복되며 전송 속도가 느려집니다.

문제 세부 정보

네트워크 대기 시간, create 명령 및 바이러스 백신 프로그램은 작은 파일의 전송 속도가 느려집니다. 다음은 이 문제에 대한 기술 세부 정보입니다.

  • SMB는 create 명령을 호출하여 파일을 만들도록 요청합니다. 코드는 파일이 있는지 여부를 확인한 다음 파일을 만듭니다. 그렇지 않으면 명령의 일부 변형이 create 실제 파일을 만듭니다.
    • create 명령은 파일 시스템에서 작업을 생성합니다.
    • 데이터가 기록되면 파일이 닫힙니다.
  • 이 프로세스는 네트워크 대기 시간 및 SMB 서버 대기 시간으로 인해 어려움을 겪을 수 있습니다. 이 대기 시간은 SMB 요청이 먼저 파일 시스템 명령으로 변환된 다음 실제 파일 시스템으로 변환되어 작업을 완료하기 때문에 발생합니다.
  • 바이러스 백신 프로그램이 실행되는 동안 전송 속도가 계속 느려집니다. 이 변경은 일반적으로 데이터가 패킷 스니퍼에 의해 한 번, 데이터가 디스크에 기록될 때 두 번째로 검사되기 때문에 발생합니다. 일부 시나리오에서는 이러한 작업이 수천 번 반복됩니다. 1MB/s 미만의 속도를 관찰할 수 있습니다.

Office 문서의 느린 열기

Office 문서는 느리게 열릴 수 있으며 일반적으로 WAN 연결에서 발생합니다. Office 앱(특히 Microsoft Excel)이 데이터에 액세스하고 데이터를 읽는 방식은 일반적으로 문서가 느리게 열리는 원인입니다.

Office 및 SMB 이진 파일이 최신 상태인지 확인한 다음 SMB 서버에서 임대를 사용하지 않도록 설정하여 테스트해야 합니다. 두 조건이 모두 해결되었는지 확인하려면 다음 단계를 수행합니다.

  1. Windows 8 및 Windows Server 2012 이상 버전의 Windows에서 다음 PowerShell cmdlet을 실행합니다.

    Set-SmbServerConfiguration -EnableLeasing $false
    

    관리자 권한 명령 프롬프트 창에서 다음 명령을 실행할 수도 있습니다.

    REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters /v DisableLeasing /t REG\_DWORD /d 1 /f
    

    참고

    이 레지스트리 키를 설정한 후에는 SMB2 임대가 더 이상 부여되지 않지만 oplock은 계속 사용할 수 있습니다. 이 설정은 주로 문제 해결에 사용됩니다.

  2. 파일 서버를 다시 시작하거나 서버 서비스를 다시 시작합니다. 서비스를 다시 시작하려면 다음 명령을 실행합니다.

    NET STOP SERVER
    NET START SERVER
    

이 문제를 방지하려면 로컬 파일 서버에 파일을 복제할 수도 있습니다. 자세한 내용은 EFS를 사용할 때 Office 문서를 네트워크 서버에 저장하는 것이 느림을 참조하세요.