쿠폰 발급 기능의 동시성 처리를 진행하면서 단순히 테스트 코드에서의 검증뿐 아니라 실제 API 요청 기반의 부하 테스트는 어떻게 진행할 수 있을까? 하는 궁금증이 생겼다.

성능 테스트 도구로는 JMeter, nGrinder, k6 등 여러 가지가 있었지만, 그중에서도 오랜 기간 꾸준히 릴리즈되고, 다양한 기능과 플러그인, 풍부한 자료를 보유한 Apache JMeter를 선택하게 되었다.

선행 지식

성능 테스트시 꼭 알고 가야하는 개념이 있는데, 바로 응답시간과 TPS다.

이 둘은 성능 테스트의 중요한 지표이다.

응답시간(Response Time)

응답시간(Respose Time) = [동시 사용자 수 / 초당 요청 수(TPS)] - 인지시간(Think Time)

TPS(Throughput)

초당 요청 수(TPS) = 동시 사용자 수 / 응답시간(Response Time) + 인지시간(Think Time)

JMeter 설치