1. 테스트 개요

부하 테스트 목적

배포하기 전, API 서버의 최대 처리 가능 TPS를 확인하기 위함 (특정 API에서 응답 시간이 비정상적으로 증가하는 현상 검증)

테스트 환경

항목 내용
테스트 도구 k6
모니터링 도구 Spring Boot Actuator, Prometheus, Grafana

2. 테스트 목표

SLO (서비스 수준 목표)

항목 사용자 서비스
최대 동시 사용자 수 500명
평균 응답 시간 300ms 이하
오류율 1% 이하
시스템 가용성 99.9% 이상
TPS (Transactions per Second) 100건 이상

SLI (서비스 수준 지표)

항목 설명
응답 시간 API별 평균/최대/최소 응답 시간 (K6 + Actuator 기반 측정)
오류율 HTTP 4xx/5xx 응답 비율
시스템 자원 사용량 CPU, Memory (Grafana 활용)
TPS 초당 처리 요청 수
성공률 요청 대비 성공 응답 비율

부하 테스트 시나리오

🔹 사용자 시나리오

시나리오 ID 설명 대상 API 사용자 수 요청 수 지속 시간 🎯 목표 응답 시간 비고
USR-001 인기 상품 조회 부하 테스트 GET /products/popular 100 → 500명 증가 100,000건 10분 평균 200ms 이하최대 1초 캐시 적용 여부 확인
USR-002 상품 상세 반복 조회 GET /products/{id} 300명 50,000건 5분 평균 250ms 이하최대 1초 다양한 상품 ID 대상
USR-003 쿠폰 선착순 발급 POST /users/{userId}/coupons 200명 동시 5,000건 3분 평균 300ms 이하최대 1.5초 선착순 실패 시 응답 처리 확인
USR-004 포인트 충전 POST /points/charge 100명 10,000건 5분 평균 250ms 이하최대 1초 금액 랜덤 입력
USR-005 주문 및 결제 프로세스 POST /orders, POST /payments 300명 30,000건씩 10분 평균 300ms 이하최대 1.5초 재고/포인트/쿠폰 처리 포함

3. 테스트 결과

🔹 사용자 시나리오

grafana.JPG