배포하기 전, API 서버의 최대 처리 가능 TPS를 확인하기 위함 (특정 API에서 응답 시간이 비정상적으로 증가하는 현상 검증)
| 항목 | 내용 |
|---|---|
| 테스트 도구 | k6 |
| 모니터링 도구 | Spring Boot Actuator, Prometheus, Grafana |
| 항목 | 사용자 서비스 |
|---|---|
| 최대 동시 사용자 수 | 500명 |
| 평균 응답 시간 | 300ms 이하 |
| 오류율 | 1% 이하 |
| 시스템 가용성 | 99.9% 이상 |
| TPS (Transactions per Second) | 100건 이상 |
| 항목 | 설명 |
|---|---|
| 응답 시간 | 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초 | 재고/포인트/쿠폰 처리 포함 |
🔹 사용자 시나리오
