목록 보기
DynamoDB Limit 설정으로 RCU 97% 절감한 이야기
백엔드

DynamoDB Limit 설정으로 RCU 97% 절감한 이야기

버즈빌
버즈빌
2026년 1월 23일

두줄요약

DynamoDB 조회에서 Limit 미설정과 Strong Consistent Read가 RCU 급증의 원인이었습니다. SearchLimit 적용과 일관성 수준 조정으로 RCU를 최대 97% 절감했습니다.

문제 상황

  • DynamoDB RCU가 약 1k에서 130k/s까지 급증한 현상
  • 특정 조회 코드에서 Limit 미설정과 Strong Consistent Read 사용으로 불필요한 비용 발생
  • guregu/dynamo의 Iter 흐름과 Query 페이징 동작에 대한 오해 가능성

원인 분석

  • Limit만 사용한 경우 필터 조건에 따라 라이브러리 내부에서 API Limit이 전달되지 않을 수 있는 구조
  • Iter() 첫 호출 시 페이지 전체를 가져와, 중간에 break해도 이미 RCU가 소모되는 동작
  • 조회 대상 테이블에서 평균 300개 수준의 파티션을 광범위하게 스캔한 점

해결 방법

  • SearchLimit 적용으로 서버 측 스캔 범위 제한
  • Strong Consistent Read를 Eventually Consistent Read로 전환
  • ConsumedCapacity 로깅과 일단위 메트릭, 배포 이력 매트릭스 교차 분석으로 원인 추적

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...