다음을 통해 공유


Blob Storage 개발자를 위한 성능 검사 목록

이 검사 목록을 사용하여 대기 시간을 줄이고, 처리량을 늘리고, Azure Storage 크기 조정 및 성능 목표에 맞춥니다. Azure Storage는 요청 시 일부 값을 늘릴 수 있으므로 제한보다는 용어 대상을 사용합니다. 클라이언트가 이러한 대상에 접근하거나 초과하는 경우 Azure Storage는 요청을 제한하여 대기 시간을 늘릴 수 있습니다. 이 문서의 검사 목록을 사용하여 성능을 저하시키지 않고 대상에 맞춥니다.

비고

이 문서는 사용자 지정 애플리케이션에만 적용됩니다. 모든 클라이언트에 적용되는 권장 사항은 Blob Storage에 대한 성능 검사 목록을 검토합니다.

성능 체크리스트

  • Azure Storage 클라이언트 라이브러리 사용: 최상의 성능을 위해 Microsoft 클라이언트 라이브러리를 사용합니다. 이러한 라이브러리는 성능에 최적화되고, 서비스 버전에서 최신 상태로 유지되며, 내부적으로 입증된 성능 사례를 처리합니다.

  • 병렬 블록 전송 최적화: 블록 크기가 작은 병렬 전송을 늘리지만 4MiB(표준) 또는 256KiB(프리미엄) 이상의 크기를 유지 관리하여 처리량이 높은 블록 Blob을 활성화합니다. 디바이스 기능 또는 스토리지 대상을 초과하여 제한이 발생하는 것을 방지하기 위해 병렬 처리를 균형 있게 조정합니다. 동시 요청에 적절한 제한을 설정합니다. .NET, Java,JavaScript, Python 및 Go에 대한 성능 지침을 참조하세요.

  • 지수 백오프 재시도 정책 사용: 지수 백오프 정책을 사용하여 일시적인 오류를 처리합니다. 예를 들어 2, 4, 10, 30초 후에 다시 시도한 다음 중지합니다. 이 정책은 애플리케이션이 성능 및 크기 조정 대상에 접근하거나 초과할 때 발생하는 오류와 같은 일시적이지 않은 오류에 대한 과도한 재시도를 방지합니다. 클라이언트 라이브러리는 다시 시도할 오류와 다시 시도하지 않을 오류를 알고 있습니다. 재시도 정책을 적용하려면 .NET, Java, JavaScript, Python 및 Go에 대한 재시도 지침을 참조하세요.

  • 서버 간 API를 사용하여 컨테이너 및 계정 간에 데이터 복사: Put Block From URL을 사용하여 계정 간과 계정 내에서 데이터를 복사합니다. 서버 쪽 작업은 데이터를 다운로드한 다음 업로드할 필요가 없으므로 대역폭을 줄입니다. .NET, Java, JavaScript, PythonGo에 대한 복사 지침을 참조하세요.

  • 성능 향상을 위한 데이터 캐시: 구성 및 조회 데이터와 같이 자주 액세스하거나 거의 변경되지 않는 데이터를 캐시합니다. GET 작업과 함께 조건부 헤더를 사용하여 마지막으로 캐시된 이후 수정된 경우에만 Blob을 검색합니다. 자세한 내용은 Blob 서비스 작업의 조건부 헤더 지정을 참조하세요.

  • 일괄 처리로 데이터 업로드: 즉시 업로드하는 대신 업로드하기 전에 데이터를 집계합니다. 예를 들어 각 항목을 개별적으로 업로드하는 대신 로그 항목을 로컬로 저장하고 정기적으로 단일 Blob으로 업로드합니다.

다음 단계