대규모 트래픽 처리를 위한 부하테스트 입문/실전
✅ 1. 부하 테스트 필요성 인식
“서비스를 오픈하려고 하는데 사용자들이 몰려서 서버가 터지면 어떡하지?”
“내 서버는 어느 정도 사용자 요청을 견딜 수 있는 거지?”
“개발자님, 이번에 치킨 이벤트를 하려하는데 사용자가 1만명 정도가 들어와도 서버가 괜찮을까요?”
✅ 2. 부하 테스트 목표 설정하기
부하 테스트 목표는 주로 Throughput과 Latency를 활용해 설정한다.
[예시]
✅ 3. 현재 시스템이 어느 정도 트래픽까지 견딜 수 있는 지 부하 테스트 진행
부하 테스트 툴(k6, ngrinder, jmeter 등)을 활용해 시스템에 부하를 준다. 부하의 정도를 올려가면서 어느 정도 부하까지 견딜 수 있는 지를 측정한다. 즉, 시스템의 최대 Throughput을 측정한다.
✅ 4. 병목 지점 파악 후 성능 개선하기
목표로 설정한 Throughput, Latency를 달성하기 위해, 기존 시스템의 성능을 개선해야 할 수도 있다. 성능 개선을 하려면 가장 먼저 병목 지점을 파악해서 개선해야 한다.
✅ 5. 개선한 시스템이 어느 정도 트래픽까지 견딜 수 있는 지 부하 테스트 진행
개선한 시스템이 어느 정도 트래픽까지 견딜 수 있는 지 부하 테스트를 진행한다. 부하 테스트를 통해 최대 Throughput과 평균 Latency를 측정해서 목표치를 달성했는 지 체크한다.
만약 목표치를 달성하지 못했다면 다시 4번 과정(병목 지점 파악 후 성능 개선)을 거친 후 부하 테스트를 진행해서 목표치 달성 여부를 확인한다. 이 과정을 목표 달성 때까지 반복한다.