Amazon DynamoDB의 스로틀링 문제 해결 - Amazon DynamoDB

Amazon DynamoDB의 스로틀링 문제 해결

DynamoDB는 전반적인 서비스 성능 유지와 비용 제어라는 두 가지 주요 목적을 위해 스로틀링을 구현합니다. 스로틀링은 소비율이 용량을 초과할 때 성능 저하를 방지하는 의도적인 보호 장치로 작용하거나, 최대 처리량 또는 서비스 할당량 한도에 도달했을 때 비용 제어 메커니즘 역할을 합니다. 스로틀링이 발생하면 DynamoDB는 요청이 스로틀된 사유와 영향을 받은 리소스에 대한 상세 정보가 포함된 특정 예외를 반환합니다. 각 스로틀링 사유는 스로틀링 이벤트의 빈도와 패턴에 대한 추가적인 인사이트를 제공하는 특정 CloudWatch 지표와 대응됩니다.

다음 다이어그램은 DynamoDB가 보호적 스로틀링을 구현하는 네 가지 주요 시나리오를 보여줍니다.

  1. 키 범위 처리량 초과(두 모드 모두):

    특정 파티션으로 향하는 소비량이 내부 파티션 수준 처리량 한도를 초과합니다.

  2. 프로비저닝된 처리량 초과(프로비저닝 모드):

    테이블 또는 글로벌 보조 인덱스(GSI)에 대해 구성된 프로비저닝된 용량 단위(읽기 또는 쓰기)를 소비량이 초과합니다.

  3. 계정 수준 서비스 할당량 초과(온디맨드 모드):

    소비로 인해 테이블 또는 GSI가 현재 AWS 리전에서 읽기/쓰기 처리량에 대한 테이블당 계정 수준 서비스 할당량을 초과합니다. 이러한 할당량은 안전 장치 역할을 하며 증가시킬 수 있습니다.

  4. 온디맨드 최대 처리량 초과(온디맨드 모드):

    테이블 또는 GSI에 설정된 최대 처리량 한도를 소비량이 초과했습니다. 이는 비용 관리 목적으로 특별히 설정하는 한도입니다.

이 다이어그램은 DynamoDB가 프로비저닝 모드와 온디맨드 모드에서 요청을 제한할 수 있는 네 가지 주요 사유를 보여줍니다.

이 가이드는 DynamoDB에서 스로틀링을 이해하고 처리하는 데 도움을 주기 위해 구성되었습니다. 먼저, 진단 프레임워크를 통해 워크로드에 영향을 미치는 특정 유형의 스로틀링을 식별하는 방법을 안내합니다.

그런 다음 해결 가이드 섹션에서는 각 스로틀링 시나리오에 대한 구체적인 지침을 제공합니다. 여기에는 감지 및 분석을 위한 모니터링 대상 CloudWatch 지표와 최적화를 위한 권장 단계가 포함됩니다. 이러한 체계적인 접근 방식을 따르면 스로틀링의 근본 원인을 더 잘 진단하고 적절한 해결책을 구현하여 DynamoDB 테이블이 효율적으로 작동하도록 할 수 있습니다.

시작하려면 스로틀링 진단을 따라 작업 부하에 영향을 미치는 스로틀링 유형을 식별하고 권장되는 해결 전략을 구현하는 방법을 알아보세요.