Foundry
성능 최적화
심화

부하 테스트와 용량 산정

서버가 몇 대 필요한지 숫자로 답하는 방법

부하 테스트와 용량 산정

테스트 종류

종류목적
스모크최소 부하로 시나리오와 계측이 동작하는지 확인
부하예상 평시와 피크 부하에서 지표 충족 여부 확인
스트레스한계점과 그때의 실패 양상 파악
스파이크급증 트래픽에 대한 회복력 확인
내구장시간 유지 시 자원 누수와 성능 저하 확인

용량 산정 예

DAU 100,000, 1인당 요청 20건 -> 일 200만 요청
평균 RPS = 2,000,000 / 86,400 = 약 23
피크 배수 5배 가정 -> 목표 약 120 RPS
1대 실측 60 RPS (p99 목표 내) -> 2대 + 여유 1대

실무 포인트

  • 목표는 RPS 단독이 아니라 지연 조건과 함께 정한다. 지연 기준 없는 처리량 수치는 의미가 없다
  • 캐시가 비어 있는 상태와 채워진 상태를 나눠 측정한다. 워밍된 상태만 재면 배포 직후를 놓친다
  • 부하를 계단식으로 올려 지표가 꺾이는 지점을 찾고, 그때 포화된 자원(CPU, 커넥션, 디스크)을 기록한다
  • 테스트 환경은 운영과 같은 사양, 데이터 규모여야 한다. 데이터가 적으면 인덱스 문제가 드러나지 않는다
면접에서 이렇게 나옵니다

Q.부하 테스트 종류를 나누고 각각 언제 수행하나요?

답변을 준비하고 있어요. 우선 위 본문에서 근거를 찾아보세요.

Q.서버 대수를 산정하는 과정을 설명해주세요

답변을 준비하고 있어요. 우선 위 본문에서 근거를 찾아보세요.

Q.부하 테스트 결과에서 병목 자원을 어떻게 판단하나요?

답변을 준비하고 있어요. 우선 위 본문에서 근거를 찾아보세요.

Q.테스트 환경과 운영 환경 차이 때문에 놓치기 쉬운 문제는?

답변을 준비하고 있어요. 우선 위 본문에서 근거를 찾아보세요.

먼저 스스로 답해보고 아래 답변과 견줘보세요. 막히는 부분은 문제로 확인할 수 있어요.

더 깊이 공부하기

읽었으면 문제로 확인해보세요

성능 최적화 문제를 풀면 틀린 문제가 자동으로 노트에 쌓입니다. 가입 없이 5문제를 먼저 풀어볼 수도 있어요.