Skip to content

인터파크 0.002% Spike 테스트 보고서 #144

Closed
@junha-ahn

Description

@junha-ahn

Description

인터파크 기준 0.002% Spike 테스트 보고서

  0.002% 인터파크 기준
User per minute 500 20만
Request per minute 6,000 300만

테스트 요약

  1. Thread Pool 전략 수정으로 쓰레드 생성에 따른 CPU 리소스 사용 개선
  2. DB Connection Pool 전략 수정으로 Pending Connection 개선
  3. Redis 캐싱 적용으로 Latency 개선

시나리오

  1. 이벤트 페이지 조회 (GET /events?sort=id,asc&size=20&page=0)
    • 총 13번 조회한다.
    • 매 반복마다 page += randomInt(1, 10)
  2. 이벤트 상세 조회 (GET /event/{ID})
    • 이때 사용하는 EventID는 미리 정해진 ID이다. (대다수의 유저가 예약에 성공할 수 있는 max_attendees 를 가진 이벤트를 사용)
  3. 대기열 티켓 생성 (POST /ticket)
  4. 대기열 티켓 조회 (GET /ticket/{eventId}/{userId})
    • 대기열에 입장할때까지 계속 반복 조회
  5. 예약 (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으로 가정 (자세한 내용)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions