목록 보기
급증하는 트래픽 안정적으로 처리하기: 개선편(1) 동적 스케일링
백엔드

급증하는 트래픽 안정적으로 처리하기: 개선편(1) 동적 스케일링

채널톡
채널톡
2026년 2월 25일

두줄요약

벌크액션 트래픽에 대응하기 위해 PWQD를 핵심 메트릭으로 삼아 동적 스케일링을 설계했습니다. 연속 초과 시 확대하고 Time Decay로 축소해 Spike에도 안정적으로 대응했습니다.

문제 상황

  • 벌크액션 트래픽에서 Long Lived Job과 Spike 요청이 겹치며 Worker Exhaustion과 꼬리 지연 발생
  • 기존 CPU/Mem 기반 Horizontal Scaling만으로는 실제 부하를 충분히 반영하기 어려운 한계

원인 분석

  • Queue Depth, In-Flight 수, Execution Latency, Throttle Rate만으로는 각각 초기 탐색 구간, 스로틀링, 선행성 부족 등의 문제가 존재
  • 단일 큐 구조에서 작업이 몰리면 현재 Worker 수 대비 상대적 부하를 직관적으로 읽기 어려움

해결 방법

  • Queue Depth를 현재 Worker 수로 나눈 Per-Worker Queue Depth(PWQD)를 핵심 메트릭으로 선정
  • PWQD 연속 초과 시 Exponential Scale Up, Scale Down은 Time Decay로 보수적으로 적용
  • Spike에는 민감하게 반응하되 초기 등록 구간의 과잉 스케일링과 Oscillation을 완화

성능/운영 포인트

  • 10만 건 기준 Worker 8개에서 16개로 늘려 처리 시간을 약 25분에서 14분으로 단축
  • 자동 스케일링으로 수동 개입 감소, TPS 준수와 안정성 향상
  • 다만 단일 Job Queue로 인한 HOL Blocking은 별도 과제로 남음

댓글 0

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

댓글을 불러오는 중...