속도 제한 이벤트 관찰

완료됨

이 단원에서는 속도 제한 이벤트를 식별하는 방법에 대해 설명합니다.

Azure Cosmos DB SQL API를 사용하는 동안 Azure Cosmos DB가 429 상태 코드 오류를 반환할 수 있습니다. 이 오류 코드는 요청 속도가 너무 높음 예외가 발생했음을 나타냅니다. 이 예외는 Azure Cosmos DB 요청 속도가 제한됨을 의미합니다.

프로비전된 처리량을 사용하는 경우 워크로드에 대해 초당 요청 단위(RU/s)가 설정됩니다. 서비스에 대한 작업(읽기, 쓰기, 쿼리)은 RU(요청 단위)를 사용합니다. 지정된 초에 프로비전된 RU/s보다 많은 RU를 작업이 사용하는 경우 Azure Cosmos DB가 429 예외를 반환합니다.

429 예외가 발생하는 세 가지 주요 이유는 다음과 같습니다.

  • 요청 속도가 높습니다.
  • 메타데이터 요청 빈도가 높아서 요청이 완료되지 않았습니다.
  • 일시적인 서비스 오류로 인해 요청이 완료되지 않았습니다.

이러한 각 이유와 이러한 이유를 식별하는 방법을 살펴보겠습니다.

요청 빈도가 높습니다.

이 예외가 발생하는 세 가지 이유 중 이것이 가장 일반적인 이유입니다. Azure Cosmos DB는 데이터에 대한 작업의 RU가 프로비전된 RU/s를 초과하는 경우 이 예외를 반환합니다.

429 예외에 대한 가능한 원인을 조사하려면 다음을 수행합니다.

  1. Azure Portal에서 Azure Cosmos DB 계정 페이지를 엽니다.
  2. 인사이트->요청 메뉴에서 상태 코드별 총 요청 차트를 살펴보고 429 예외의 발생을 검색합니다.
  3. 필요한 경우 차트를 원하는 시간 범위 및 데이터베이스로 시간 범위 및 데이터베이스별로 필터링합니다.

대부분의 애플리케이션에서는 429 예외가 있는 요청이 5% 미만인 것이 정상입니다.

상태 코드 및 제한된 요청(429 예외)을 기준으로 차트를 표시하는 다이어그램.

429 예외의 백분율이 5%보다 높은 경우 핫 파티션이 예외의 원인일 수 있습니다.

데이터베이스 액세스가 핫 파티션을 거치는지 확인하려면 Azure Portal에서 Azure Cosmos DB 계정 아래 인사이트->처리량에서 Normalized RU Consumption (%) By PartitionKeyRangeID 차트를 검토합니다.

핫 파티션의 처리량을 기준으로 한 차트를 보여 주는 다이어그램.

메타데이터 요청에 대한 빈도 제한

다음 메타데이터 작업을 대량으로 수행할 때 429 예외가 발생할 수 있습니다.

  • 컨테이너 또는 데이터베이스 만들기, 읽기, 업데이트 또는 삭제
  • Cosmos 계정의 데이터베이스 또는 컨테이너 나열
  • 현재 프로비전된 처리량 쿼리

429 예외가 메타데이터 요청으로 인해 발생하는지 조사하려면 Azure Portal에서 Azure Cosmos DB 계정 아래 인사이트 >시스템에서 용량을 초과한 메타데이터 요청(429) 차트를 검토합니다.

메타데이터 액세스에 대한 차트를 보여 주는 다이어그램.

일시적인 서비스 오류로 인한 빈도 제한

429 예외가 발생하는 것을 알게 될 때 인사이트->요청상태 코드별 총 요청 차트에서 503 오류도 보고되는 것을 알 수도 있습니다. 이러한 예외는 일시적인 서비스 오류로 인해 429 예외가 발생하고 있음을 나타낼 수 있습니다.