Justin-book

성능 최적화 및 HPA 정책 (Backend Performance & Autoscaling)

2025-10-27

요약

  • 성능 최적화는 코딩이 아닌 “관찰 → 개선”의 반복이다.
  • 본 문서는 캐싱 전략, 쿼리 최적화, HPA(Horizontal Pod Autoscaler) 정책을 정의한다.
  • 목표: 안정적 응답속도(p95 ≤ 200ms) / 자동 확장 기반 부하 대응
항목내용
캐싱Local + Redis + CDN 병행
쿼리N+1 제거, Batch 처리
HPACPU 80% or RPS 기반 자동 확장
목표p95 ≤ 200ms, 안정적 부하 분산

1. 캐싱 전략

구분종류도구
애플리케이션 캐시Local CacheCaffeine / Guava
분산 캐시Redis / MemcachedSpring Cache / FastAPI Cache
API 응답 캐시CDN / HTTP HeaderCache-Control / ETag

캐시는 만능이 아니다. TTL 설정 및 Invalidation 정책 필수.


2. DB 및 쿼리 튜닝

영역방법
인덱스쿼리 플랜 분석 후 필요 인덱스 추가
JOIN필요한 컬럼만 선택, N+1 방지
Batch 처리대용량 작업 시 Chunk 단위
ORM 최적화Lazy Loading, Fetch 전략 관리

3. HPA 설정 (Kubernetes 기준)

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: backend-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: backend-api
  minReplicas: 2
  maxReplicas: 10
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 80

성능지표: RPS 기준 HPA 병행 가능 (Custom Metrics Adapter)