부하 테스트와 용량 산정
테스트 종류
| 종류 | 목적 |
|---|---|
| 스모크 | 최소 부하로 시나리오와 계측이 동작하는지 확인 |
| 부하 | 예상 평시와 피크 부하에서 지표 충족 여부 확인 |
| 스트레스 | 한계점과 그때의 실패 양상 파악 |
| 스파이크 | 급증 트래픽에 대한 회복력 확인 |
| 내구 | 장시간 유지 시 자원 누수와 성능 저하 확인 |
용량 산정 예
DAU 100,000, 1인당 요청 20건 -> 일 200만 요청
평균 RPS = 2,000,000 / 86,400 = 약 23
피크 배수 5배 가정 -> 목표 약 120 RPS
1대 실측 60 RPS (p99 목표 내) -> 2대 + 여유 1대
실무 포인트
- 목표는 RPS 단독이 아니라 지연 조건과 함께 정한다. 지연 기준 없는 처리량 수치는 의미가 없다
- 캐시가 비어 있는 상태와 채워진 상태를 나눠 측정한다. 워밍된 상태만 재면 배포 직후를 놓친다
- 부하를 계단식으로 올려 지표가 꺾이는 지점을 찾고, 그때 포화된 자원(CPU, 커넥션, 디스크)을 기록한다
- 테스트 환경은 운영과 같은 사양, 데이터 규모여야 한다. 데이터가 적으면 인덱스 문제가 드러나지 않는다