다음을 통해 공유


SMB Azure 파일 공유에 대한 성능 향상

이 문서에서는 SMB 다중 채널 및 메타데이터 캐싱 사용을 포함하여 SSD(프리미엄) SMB Azure 파일 공유에 대한 성능을 개선하는 방법을 설명합니다.

적용 대상

관리 모델 청구 모델 미디어 계층 중복성 중소기업 네트워크 파일 시스템 (NFS)
Microsoft.Storage (마이크로소프트 저장소) 프로비전된 v2 HDD(표준) 로컬(LRS) 예 아니요
Microsoft.Storage (마이크로소프트 저장소) 프로비전된 v2 HDD(표준) 영역(ZRS) 예 아니요
Microsoft.Storage (마이크로소프트 저장소) 프로비전된 v2 HDD(표준) 지역(GRS) 예 아니요
Microsoft.Storage (마이크로소프트 저장소) 프로비전된 v2 HDD(표준) GeoZone(GZRS) 예 아니요
Microsoft.Storage (마이크로소프트 저장소) 프로비전된 v1 SSD(프리미엄) 로컬(LRS) 예 아니요
Microsoft.Storage (마이크로소프트 저장소) 프로비전된 v1 SSD(프리미엄) 영역(ZRS) 예 아니요
Microsoft.Storage (마이크로소프트 저장소) 종량제 HDD(표준) 로컬(LRS) 예 아니요
Microsoft.Storage (마이크로소프트 저장소) 종량제 HDD(표준) 영역(ZRS) 예 아니요
Microsoft.Storage (마이크로소프트 저장소) 종량제 HDD(표준) 지역(GRS) 예 아니요
Microsoft.Storage (마이크로소프트 저장소) 종량제 HDD(표준) GeoZone(GZRS) 예 아니요

성능 최적화

성능을 최적화하는 데 도움이 되는 팁은 다음과 같습니다.

  • 네트워크 대기 시간을 줄이기 위해 스토리지 계정과 클라이언트가 동일한 Azure 지역에 함께 배치되었는지 확인합니다.
  • 다중 스레드 애플리케이션을 사용하여 부하를 여러 파일에 분산합니다.
  • SMB 다중 채널의 성능 이점은 부하를 분산하는 파일 수가 늘어날수록 더 커집니다.
  • SSD 공유 성능은 IOPS 및 처리량 및 단일 파일 제한을 포함하여 프로비전된 공유 크기에 의해 바인딩됩니다. 자세한 내용은 프로비전 v1 모델 이해를 참조하세요.
  • 단일 VM 클라이언트의 최대 성능은 VM 제한에 계속 바인딩되어 있습니다. 예를 들어 Standard_D32s_v3 약 1.86GiB/초의 최대 대역폭을 지원할 수 있으며 VM에서 송신(스토리지에 쓰기)이 측정됩니다. 수신(스토리지에서 읽기)은 그렇지 않습니다. 파일 공유 성능은 컴퓨터 네트워크 제한, CPU, 내부 스토리지 사용 가능한 네트워크 대역폭, IO 크기, 병렬 처리 및 기타 요인의 영향을 받습니다.
  • 초기 테스트는 일반적으로 준비입니다. 결과를 취소하고 테스트를 반복합니다.
  • 단일 클라이언트에 의해 성능이 제한되고 워크로드가 여전히 프로비전된 공유 제한을 밑도는 경우에는, 여러 클라이언트에 부하를 분산하여 성능을 더 높일 수 있습니다.

IOPS, 처리량과 I/O 크기 간의 관계

처리량 = IO 크기 * IOPS

I/O 크기가 클수록 처리량이 늘어나고 지연 시간이 길어져 네트워크 IOPS 수가 줄어듭니다. I/O 크기가 작을수록 IOPS가 높아지지만 순 처리량과 대기 시간이 줄어듭니다. 자세한 내용은 Azure Files 성능 이해를 참조하세요.

SMB 다중 채널

SMB 다중 채널을 사용하면 SMB 클라이언트가 SMB 파일 공유에 대한 여러 네트워크 연결을 설정할 수 있습니다. Azure Files는 Windows 클라이언트용 SSD 파일 공유에서 SMB 다중 채널을 지원합니다. 서비스 쪽에서 SMB 다중 채널은 이제 모든 Azure 지역에서 새로 만든 모든 스토리지 계정에 대해 기본적으로 사용하도록 설정됩니다. SMB 다중 채널을 사용하도록 설정하기 위한 다른 비용은 없습니다.

이점

SMB 다중 채널을 사용하면 클라이언트는 소유 비용을 줄이는 동시에 성능을 향상시키는 여러 네트워크 연결을 사용할 수 있습니다. 여러 NIC의 대역폭 집계를 통해 성능을 향상시키고 NIC에 대한 RSS(수신측 스케일링) 지원을 활용하여 I/O 부하를 여러 CPU에 분산시킵니다.

  • 향상된 처리량: 다중 연결을 사용하면 여러 경로를 통해 데이터를 병렬로 전송할 수 있으므로, 더 큰 I/O와 파일 크기를 사용하며 더 많은 처리량을 요구하는 워크로드를 단일 VM 또는 더 작은 VM 집합에서도 훌륭히 활용할 수 있습니다. 해당 워크로드에는 콘텐츠 생성 또는 코드 변환, 유전체학, 금융 서비스 위험 분석을 위한 미디어와 엔터테인먼트가 포함됩니다.
  • 높은 IOPS: NIC RSS 기능을 사용하면 다중 연결된 여러 CPU에서 효과적으로 부하를 분산할 수 있습니다. 이렇게 하면 VM CPU의 IOPS 규모를 늘리고 더 효율적으로 활용할 수 있습니다. 데이터베이스 애플리케이션과 같이 I/O 크기가 작은 워크로드에 유용합니다.
  • 네트워크 내결함성: 클라이언트가 더 이상 개별 연결에 의존하지 않으므로 다중 연결은 중단 위험을 완화합니다.
  • 자동 구성: SMB 다중 채널이 클라이언트 및 스토리지 계정에서 사용하도록 설정되면 기존 연결을 동적으로 검색할 수 있으며 필요에 따라 추가 연결 경로를 만들 수 있습니다.
  • 비용 최적화: 워크로드는 SSD 파일 공유에 연결하는 동안 단일 VM 또는 작은 VM 집합에서 더 큰 규모를 달성할 수 있습니다. 이렇게 하면 워크로드를 실행하고 관리하는 데 필요한 VM 수를 줄여 총 소유 비용을 줄일 수 있습니다.

SMB 다중 채널에 대한 자세한 내용은 Windows 설명서를 참조하세요.

이 기능은 다중 스레드 애플리케이션의 성능을 크게 향상시키지만 일반적으로 단일 스레드 애플리케이션에는 도움이 되지 않습니다. 자세한 내용은 성능 비교 섹션을 참조하세요.

제한 사항

Azure 파일 공유에 대한 SMB 다중 채널에는 현재 다음과 같은 제한 사항이 있습니다.

  • SSD 파일 공유에만 사용할 수 있습니다. HDD Azure 파일 공유에 사용할 수 없습니다.
  • SMB 3.1.1을 사용하는 클라이언트에서만 지원됩니다. SMB 클라이언트 운영 체제가 권장 수준으로 패치되었는지 확인합니다.
  • 최대 채널 수는 4개입니다. 자세한 내용은 여기를 참조하세요.

구성

SMB 다중 채널은 기능이 클라이언트 측(사용자의 클라이언트)과 서비스 측(사용자의 Azure 스토리지 계정) 양쪽에서 사용하도록 설정된 경우에만 작동합니다.

Windows 클라이언트에서 SMB 다중 채널은 기본적으로 사용하도록 설정되어 있습니다. 다음 PowerShell 명령을 실행하여 설정을 확인할 수 있습니다.

Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel

Azure Storage 계정에서 SMB 다중 채널이 사용하도록 설정되지 않은 경우 SMB 다중 채널 상태를 참조하세요.

SMB 다중 채널 사용 안 함

대부분의 시나리오, 특히 다중 스레드 워크로드의 경우 클라이언트는 SMB 다중 채널로 인한 성능 향상을 확인하게 될 것입니다. 하지만 단일 스레드 워크로드와 같은 일부 특정 시나리오, 혹은 테스트 목적으로 SMB 다중 채널을 사용하지 않도록 설정할 수도 있습니다. 자세한 내용은 성능 비교SMB 다중 채널 상태를 참조하세요.

SMB 다중 채널이 올바르게 구성되었는지 확인

  1. 새 SSD 파일 공유를 만들거나 기존 SSD 파일 공유를 사용합니다.
  2. 클라이언트에서 SMB 다중 채널을 지원하는지 확인합니다(하나 이상의 네트워크 어댑터에서 수신측 배율을 사용하도록 설정된 경우). 자세한 내용은 Windows 설명서를 참조하세요.
  3. 파일 공유를 클라이언트에 탑재합니다.
  4. 애플리케이션을 사용하여 부하를 생성합니다. robocopy/MT와 같은 복사 도구나 파일 읽기/쓰기를 할 수 있는 Diskspd와 같은 퍼포먼스 툴로 부하를 생성할 수 있습니다.
  5. 관리자 권한으로 PowerShell을 열고 Get-SmbMultichannelConnection |fl 명령을 실행합니다.
  6. MaxChannelsCurrentChannels 속성을 찾습니다.

성능 비교

읽기/쓰기 워크로드 패턴에는 단일 스레드 및 다중 스레드의 두 가지 범주가 있습니다. 대부분의 워크로드는 여러 파일을 사용하지만 단일 파일을 공유는 특정한 사용 사례도 있을 수 있습니다. 이 섹션에서는 다양한 사용 사례와 각 사례가 성능에 끼치는 영향을 설명합니다. 일반적으로 대부분의 워크로드는 다중 스레드이며 워크로드를 여러 파일에 분산하여 SMB 다중 채널의 상당한 성능 향상을 확인할 수 있습니다.

  • 다중 스레드/다중 파일: 워크로드 패턴에 따라 다중 채널에 I/O 읽기 및 쓰기 성능의 비약적인 향상을 확인할 수 있습니다. 성능 향상은 IOPS, 처리량, 대기 시간 면에서 2X부터 4X까지 차이가 있습니다. 이 카테고리에서는 최고의 성능을 위해 SMB 다중 채널을 사용하도록 설정해야 합니다.
  • 다중 스레드/단일 파일: 이 범주의 대부분의 사용 사례에서 워크로드는 특히 워크로드의 평균 I/O 크기 > 가 ~16k인 경우 SMB 다중 채널을 사용하는 것이 좋습니다. SMB 다중 채널의 혜택을 받은 몇 가지 예제 시나리오는 큰 크기의 단일 파일 백업 또는 복구입니다. SMB 다중 채널을 사용하지 않도록 설정할 예외 사례는 워크로드 부하가 작은 I/O인 경우 정도입니다. 이 경우에는 ~10% 정도 성능이 약간 저하될 수 있습니다. 사용 사례에 따라 부하를 여러 파일에 분산하거나 기능을 사용하지 않도록 설정하는 것이 좋습니다. 자세한 내용은 구성 섹션을 참조하세요.
  • 단일 스레드/다중 파일 또는 단일 파일: 대부분의 단일 스레드 워크로드의 경우 병렬 처리 부족으로 인해 성능상의 이점이 미미합니다. 일반적으로 SMB 다중 채널을 사용하는 경우 성능이 ~10%로 약간 저하됩니다. 이 경우 한 가지 예외 사례를 제외하고 SMB 다중 채널을 사용하지 않도록 설정하는 게 이상적입니다. 단일 스레드 워크로드에서 여러 파일에 부하를 분산하고 더 큰 I/O 크기(> ~16k)를 평균적으로 사용하는 경우, SMB 다중 채널을 사용하면 성능이 약간 향상됩니다.

성능 테스트 구성

이 문서의 차트에서 사용된 구성은 4개의 채널이 포함된 단일 RSS를 사용하도록 설정된 NIC를 사용하는 단일 표준 D32s v3 VM입니다. 부하는 I/O 깊이 10 및 다양한 I/O 크기의 무작위 I/O로 다중 스레드 처리된 diskspd.exe를 이용해 생성하였습니다.

SMB 다중 채널을 사용하는 다중 스레드/복수 파일

다양한 IO 크기의 10개 파일로 부하가 생성되었습니다. 스케일 업 테스트 결과, SMB 다중 채널을 사용하도록 설정된 IOPS 및 처리량 테스트 결과 양쪽 모두에서 상당한 성능 향상을 보였습니다. 다음은 결과를 나타낸 다이어그램입니다.

성능 다이어그램.

처리량 성능 다이어그램

  • 단일 NIC에서 읽기의 경우 2X에서 3X의 성능 향상이 관찰되었고, 쓰기의 경우 IOPS와 처리량 양쪽 모두 3X-4X의 향상을 기록했습니다.
  • SMB 다중 채널은 IOPS와 처리량이 단일 NIC와 4개 채널로 제한이 걸린 상태에서도 VM의 한계치까지 도달하게 했습니다.
  • 송신(또는 스토리지로 읽기)은 측정되지 않으므로 읽기 처리량은 약 1.86GiB/초의 VM 게시 한도를 초과할 수 있었습니다. 테스트는 2.7GiB/초를 달성 >했습니다. 수신(또는 스토리지에 쓰기)은 여전히 VM 제한의 적용을 받습니다.
  • 여러 파일에 부하를 분산시킴으로써 상당히 개선되었습니다.

이 테스트에 사용된 예제 명령은 다음과 같습니다.

diskspd.exe -W300 -C5 -r -w100 -b4k -t8 -o8 -Sh -d60 -L -c2G -Z1G z:\write0.dat z:\write1.dat z:\write2.dat z:\write3.dat z:\write4.dat z:\write5.dat z:\write6.dat z:\write7.dat z:\write8.dat z:\write9.dat ;

SMB 다중 채널을 사용하는 다중 스레드/단일 파일 워크로드

부하는 단일 128GiB 파일로 생성되었습니다. SMB 다중 채널을 사용하도록 설정했을 때 다중 스레드/단일 파일로 수행한 스케일 업 테스트는 대부분의 사례에서 향상된 결과를 보여 주었습니다. 다음은 결과를 나타낸 다이어그램입니다.

IOPS 성능 다이어그램.

단일 파일 처리량 성능 다이어그램.

  • 평균 I/O 크기가 더 큰 단일 NIC(> ~16k)에서는 읽기 및 쓰기 성능이 모두 크게 향상되었습니다.
  • 더 작은 I/O 크기의 경우 SMB 다중 채널을 사용하는 경우 성능에 ~10% 정도 약간의 영향을 받았습니다. 부하를 여러 파일에 분산하거나 기능을 사용하지 않도록 설정하여 이 현상을 완화할 수 있었습니다.
  • 성능은 여전히 단일 파일 제한에 의해 바인딩됩니다.

SSD 파일 공유에 대한 메타데이터 캐싱

메타데이터 캐싱은 다음을 개선하기 위한 SSD Azure 파일 공유의 향상된 기능입니다.

  • 메타데이터 대기 시간 단축
  • 메타데이터 크기 조정 제한 발생
  • 대기 시간 일관성 증가, 사용 가능한 IOPS 및 네트워크 처리량 향상

이 기능은 다음과 같은 메타데이터 API를 향상시키고 Windows 및 Linux 클라이언트 모두에서 사용할 수 있습니다.

  • 만들기
  • 열기
  • 닫기
  • 삭제

현재 이 기능은 SSD 파일 공유에만 사용할 수 있습니다. 이 기능 사용과 관련된 추가 비용은 없습니다. 등록 하여 SSD 파일 공유(미리 보기)에 대한 파일 핸들 제한을 늘릴 수도 있습니다.

메타데이터 캐싱 기능 등록

시작하려면 Azure Portal 또는 Azure PowerShell을 사용하여 기능에 등록합니다.

  1. Azure Portal에 로그인합니다.
  2. 미리 보기 기능을 검색하여 선택합니다.
  3. 형식 필터를 선택하고 Microsoft.Storage를 선택합니다.
  4. Azure Premium Files 메타데이터 캐시를 선택한 다음, 등록을 선택합니다.

중요

  • 미리 보기 기능에 나열되어 있지만 GA SLA를 준수합니다. 곧 모든 계정의 기본값이 되어 등록할 필요가 없어집니다.
  • 등록이 완료되면 계정을 온보딩하는 데 2-6시간이 소요됩니다.

메타데이터 캐싱을 통한 성능 향상

메타데이터를 포함하는 대부분의 워크로드 또는 사용 패턴은 메타데이터 캐싱의 이점을 누릴 수 있습니다. 워크로드에 메타데이터가 포함되어 있는지 확인하려면 Azure Monitor를 사용하여 트랜잭션을 API 차원별로 분할할 수 있습니다.

일반적인 메타데이터 집약적 워크로드 및 사용 패턴은 다음과 같습니다.

  • 웹/앱 서비스
  • DevOps 작업
  • 인덱싱/일괄 처리 작업
  • 주로 많은 작은 파일, 디렉터리 또는 핸들과 상호 작용하는 홈 디렉터리 또는 기타 워크로드가 있는 가상 데스크톱

다음 다이어그램에서는 잠재적인 결과를 보여 줍니다.

메타데이터 대기 시간 단축

향후 조회를 위해 파일 및 디렉터리 경로를 캐싱함으로써 메타데이터 캐싱은 대규모 메타데이터 집약적 워크로드에 자주 액세스하는 파일 및 디렉터리의 대기 시간을 30% 이상 줄일 수 있습니다.

메타데이터 캐싱을 사용 및 사용하지 않고 대기 시간을 밀리초 단위로 보여 주는 차트입니다.

사용 가능한 IOPS 늘리기

메타데이터 캐싱은 대규모 메타데이터 집약적 워크로드의 경우 사용 가능한 IOPS를 60% 이상 늘릴 수 있습니다.

메타데이터 캐싱을 사용 및 사용하지 않고 사용 가능한 IOPS를 보여 주는 차트입니다.

네트워크 처리량 증가

메타데이터 캐싱은 메타데이터 집약적 워크로드의 네트워크 처리량을 60% 이상 증가시킬 수 있습니다.

메타데이터 캐싱을 사용 및 사용하지 않는 네트워크 처리량을 보여 주는 차트입니다.

파일 핸들 제한 증가에 등록(미리 보기)

SSD SMB 파일 공유에 대한 파일 및 디렉터리당 최대 동시 핸들 수를 2,000개에서 10,000개로 늘리려면 Azure Portal 또는 Azure PowerShell을 사용하여 미리 보기 기능에 등록합니다. 질문이 있는 경우 전자 메일을 보내세요 azfilespreview@microsoft.com.

  1. Azure Portal에 로그인합니다.
  2. 미리 보기 기능을 검색하여 선택합니다.
  3. 형식 필터를 선택하고 Microsoft.Storage를 선택합니다.
  4. 최대 열린 핸들 수가 증가한 Azure Premium Files을 선택한 후 등록을 선택합니다.

다음 단계