Closed
Description
Description
인터파크 기준 0.002% Spike 테스트 보고서
0.002% | 인터파크 기준 | |
---|---|---|
User per minute | 500 | 20만 |
Request per minute | 6,000 | 300만 |
테스트 요약
- Thread Pool 전략 수정으로 쓰레드 생성에 따른 CPU 리소스 사용 개선
- DB Connection Pool 전략 수정으로 Pending Connection 개선
- Redis 캐싱 적용으로 Latency 개선
시나리오
- 이벤트 페이지 조회 (
GET /events?sort=id,asc&size=20&page=0
)- 총 13번 조회한다.
- 매 반복마다
page += randomInt(1, 10)
- 이벤트 상세 조회 (
GET /event/{ID}
)- 이때 사용하는 EventID는 미리 정해진 ID이다. (대다수의 유저가 예약에 성공할 수 있는
max_attendees
를 가진 이벤트를 사용)
- 이때 사용하는 EventID는 미리 정해진 ID이다. (대다수의 유저가 예약에 성공할 수 있는
- 대기열 티켓 생성 (
POST /ticket
) - 대기열 티켓 조회 (
GET /ticket/{eventId}/{userId}
)- 대기열에 입장할때까지 계속 반복 조회
- 예약 (
POST /reservations
)
Enviroment
NodeGroup | NodeType | Running Pods |
---|---|---|
Ingress | [t3.small] |
Nginx Ingress 팟 1대 |
Backend | [t3.small, t3.small, t2.small, t2.small] |
백엔드 1대 (기타 모니터링 등) |
테이블명 | 데이터 수 |
---|---|
User | 100만 |
Event | 1,000만 |
Thresholds
thresholds: {
http_req_failed: ['rate<0.01'], // http errors should be less than 1%
http_req_duration: ['p(95)<300'], // 95% of requests should be below 300ms
}
100ms는 connection time으로 가정 (자세한 내용)