다음을 통해 공유


Azure Cosmos DB for MongoDB 작업에 대한 속도 제한 오류를 방지합니다.

적용 대상: MongoDB

Azure Cosmos DB for MongoDB 작업은 속도 제한이 발생할 수 있으며, 컬렉션의 처리량 한도(RU)를 초과하는 경우 Mongo 요청 메트릭에 16500 오류가 발생할 수 있습니다.

작업 다시 시도를 자동화하려면 SSR(서버 쪽 다시 시도)을 사용하도록 설정합니다. SSR은 짧은 지연으로 계정의 모든 컬렉션에 대한 요청을 다시 시도합니다. 60초의 시간 제한에 도달하면 클라이언트는 ExceededTimeLimit 예외(50)를 수신합니다.

Azure Portal 사용

  1. Azure Portal에 로그인합니다.

  2. Azure Cosmos DB for MongoDB 계정으로 이동합니다.

  3. 설정 섹션 아래의 기능 창으로 이동합니다.

  4. 서버 쪽 다시 시도를 선택합니다.

  5. 계정의 모든 컬렉션에 대해 이 기능을 사용하려면 사용을 클릭합니다.

Azure Cosmos DB for MongoDB에 대한 서버 쪽 다시 시도 기능의 스크린샷

Azure CLI 사용

  1. 계정에 대해 SSR을 이미 사용하도록 설정되었는지 확인합니다.

    az cosmosdb show --name accountname --resource-group resourcegroupname
    
  2. 데이터베이스 계정의 모든 컬렉션에 대해 SSR을 사용합니다. 이 변경 사항이 적용되려면 최대 15분이 소요될 수 있습니다.

    az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo DisableRateLimitingResponses
    
  3. 다음 명령은 기능 목록에서 DisableRateLimitingResponses를 제거하여 데이터베이스 계정의 모든 컬렉션에 대해 서버 쪽 다시 시도를 사용하지 않도록 설정합니다. 이 변경 사항이 적용되려면 최대 15분이 소요될 수 있습니다.

    az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo
    

자주 묻는 질문

서버 쪽 다시 시도의 영향을 모니터링하려면 어떻게 해야 하나요?

Azure Cosmos DB 메트릭 창에서 서버 쪽에서 다시 시도되는 mongo 요청 메트릭을 사용하여 속도 제한 오류(16500)를 볼 수 있습니다. 이러한 오류는 처리되고 서버 쪽에서 다시 시도되므로 SSR을 사용하는 경우 클라이언트로 이동하지 않습니다.

Azure Cosmos DB 리소스 로그에서 estimatedDelayFromRateLimitingInMilliseconds가 포함된 로그 항목을 검색할 수 있습니다.

서버 쪽 다시 시도가 일관성 수준에 영향을 주나요?

서버 쪽 다시 시도는 요청의 일관성에 영향을 주지 않습니다. 요청 속도가 제한되면 서버 쪽에서 요청이 다시 시도됩니다.

서버 쪽 다시 시도는 클라이언트가 받을 수 있는 오류 형식에 영향을 주나요?

아니요, 서버 쪽 다시 시도는 서버 쪽에서 다시 시도하여 속도 제한 오류에만 영향을 미칩니다. 이 기능을 통해 클라이언트 애플리케이션에서 속도 제한 오류를 처리할 필요가 없습니다. 모든 기타 오류는 클라이언트로 이동합니다.

다음 단계

일반적인 오류 문제 해결에 대해 자세히 알아보려면 다음 문서를 참조하세요.

Azure Cosmos DB로 마이그레이션하기 위한 용량 계획을 수행하려고 하시나요? 용량 계획을 위해 기존 데이터베이스 클러스터에 대한 정보를 사용할 수 있습니다.