"장애는 자연재해와 같습니다. 아무리 예방해도, 예상치를 뛰어넘으면 문제가 생기죠.
결국 사람은 자연재해를 완벽하게 막을 수 없습니다. 다만, 예방에 더 힘을 쓸 수 있습니다."
1. 부하 테스트 대상 선정 및 목적
1-1. 부하 테스트 대상 선정 기준
부하 테스트를 진행하는 기준을 정리 하고 제 E-commerce 프로젝트에 어떤 API에 적용을 할 지 고민해 볼 생각입니다.
(예시는 E-commerce의 보편적인 기능들로 적었습니다.)
- 고객 사용 빈도가 높은 API → 예: 상품 조회, 장바구니, 결제
- 트랜잭션이 중요한 API → 예: 주문 생성, 결제 승인, 재고 차감
- 성능 저하 가능성이 높은 API → 예: DB JOIN이 많은 쿼리, 대량 데이터 조회
- 동시 요청이 많이 발생하는 API → 예: 이벤트 페이지, 프로모션 상품 구매
📌 나의 E-commerce 테스트 대상 기능 선정 및 이유

1-2. 부하 테스트 목적
각 API 별로 테스트 목적이 다르기 때문에 개별 목표는 테스트 시나리오 계획에서 정리하고 여기는
부하 테스트의 일반적인 목적에 대해 정리 합니다.
- 최대 처리 가능 요청량(TPS) 측정: 1초에 몇 개의 트랜잭션을 처리할 수 있는지?
- 성능 임계점 찾기: 몇 명의 동시 사용자가 발생하면 성능 저하가 시작되는지?
- 응답 시간 분석: API 응답 시간이 일정 수준 이하로 유지되는지?
- 시스템 안정성 검증: 장시간 트래픽 증가 시 시스템이 정상적으로 작동하는지?
- 데이터베이스 부하 측정: 대량 트래픽 시 DB 부하가 얼마나 증가하는지?
2. 테스트 시나리오 계획
각 API별로 세가지의 테스트를 진행할 계획입니다. (물론 테스트의 목적에 따라 섞어서 사용할 수도 있습니다!)
✅ 기본 성능 테스트
- 목적 : 정상적인 사용 패턴에서 API 응답 속도와 처리량을 측정합니다.
- 테스트 조건
- 동시 사용자 100명 , 1분간 지속
- 응답 시간 , 에러율 , TPS 측정.
- 기대 결과
- 응답 시간이 500ms 이하로 유지되는지?
- 처리량(TPS)이 일정 수준 이상 나오는지?
- 에러율이 1% 미만인지?
✅ 부하 테스트
- 목적 : 트래픽이 증가할 때 성능이 어떻게 변화하는지 확인합니다.
- 테스트 조건
- 점진적으로 동시 사용자 수 증가 (50 -> 100 -> 500 -> 1000)
- API 응답 시간 , CPU 사용률 , 메모리 사용량등 분석
- 기대 결과
- 어느 수준에서 성능 저하가 발생하는지 분석.
- CPU, 메모리 사용량이 급격히 증가하는 지점 확인.
✅ 스트레스 테스트
- 목적 : 시스템이 한계치에 도달할 때까지 부하를 걸어 장애 발생 가능성을 분석.
- 테스트 조건
- 점진적 증가 후 최대 부하 유지
- 서버가 응답하지 않을 때까지 테스트
- 기대 결과
- 서버가 요청을 정상적으로 처리하는 최대 임계점 파악.
3. 글 정리
이번글에서는 저의 E-Commerce 사이드 프로젝트에서의 각 API별 부하테스트 대상을 선정하게 된 근거를 정리하고
테스트의 목적과 공통적인 테스트 시나리오 계획을 정리하였습니다. 다음 글에서 각 API별 테스트 시나리오 계획에
따른 실행을 진행하고 결과분석과 장애대응에 대해 정리 할 생각입니다.