본문 바로가기
DevOps

JMeter 를 이용한 API 성능 테스트

by devLog by Ronnie's 2022. 11. 11.

JMeter 를 이용한 API 성능 테스트

 

API 성능 테스트가 필요할 때 사용할 수 있는 여러 툴 중에서 JMeter를 이용한 테스트 방법에 대해서 정리한다. 

JMeter에 대한 기본 개념과 설치 방법 및 테스트 방법에 대해서 알아보자.

 

 

JMeter 를 이용한 API 성능 테스트

 

JMeter?


JMeter는 Apache에서 개발한 오픈소스 성능 테스트 툴이다. 데이터가 많거나 응답 시간이 중요한 API에 경우에는 성능에 신경을 쓸 수 밖에 없는데 이떄 여러 사용자가 동시에 해당 API를 요청했을 때의 정보가 필요할 때가 있다. 이럴때 사용할 수 있는 것이 JMeter이다. 

 

JMeter 통해 사용자의 수를 설정하고 간격으로 몇번을 반복하는 시뮬레이션 상황을 만들어 해당 API 성능을 테스트 해볼 있다. JMeter JVM 설치만 되어 있다면 어떤 환경에서든 구동이 가능하다. CLI 통해서도 지원하고 GUI로도 지원을 한다. JMeter 대해서 설치하는 방법과 사용하는 방법에 대해서 정리한다.

 

 

설치방법


터미널에 접속하여 brew를 통해 설치를 해준다.

또는 사이트에서 직접 설치도 가능하다.

https://jmeter.apache.org/download_jmeter.cgi

 

Apache JMeter - Download Apache JMeter

Download Apache JMeter We recommend you use a mirror to download our release builds, but you must verify the integrity of the downloaded files using signatures downloaded from our main distribution directories. Recent releases (48 hours) may not yet be ava

jmeter.apache.org

다운을 완료하였으면 다음 명령어를 통해서 실행 시켜준다.

이때 만약 JMeter GUI 뜨지 않고 다음과 같은 창이 뜨고 멈춘다면 화면에 나와있듯이 omz update 통해서 업데이트 실행하면 JMeter 실행될 것이다.

 

JMeter가 정상 실행되면 다음과 같이 GUI 화면이 뜬다.

 

테스트 방법


먼저 Test Plan 우클릭하여 Tread Group 만들어 준다.

 

만든 그룹에서 옵션들을 설정해준다.

옵션들 중에서 테스트를 위해 Thread Properties 설정해주어야 하는데 하나씩 알아보자.

 

Thread Properties

  • Number of Threads (users) - 동시 접속자 수 a
  • Ramp-Up Period (in seconds) - b초 마다 실행 
  • Loop Count - 실행 횟수 c (Forever 무한 

아래처럼 5 1 1 (a=5 / b=1 / c=1) 로 설정을 했다면 동시의 사용자 5명이 1초마다 1번 실행하는 것과 같다.

 

만약 10 5 100 이라고 하면 동시의 사용자 10명이 5초 간격으로 실행하는 것을 100번 반복하는 것과 같다.

Loop Count 체크박스인 Infinite 활성화 시키면 무한으로 반복한다.

 

 

이렇게 기본그룹 설정을 마치고 쓰레드그룹 우클릭을 하여 HTTP Request 생성해준다.

Http Request 에서는 테스트할 API 정보를 입력해주는 곳이다. Protocol / IP / Port / Method / Path / Parameter 등을 API 맞게 설정을 해준다.

이렇게 API 설정을 마쳤다면 결과를 받아서 보여줄 Listener를 만들어야 한다. 쓰레드 그룹 우클릭해서 이번에는 Listener에서 

Summary Report를 생성해준다.

Summary Report에서는 해당 API 테스트에 대해서 얼마나 요청을 하였는지 평균응답시간, 최소 최대 응답 시간 등 성능테스트에 대한 여러 데이터를 제공해준다.

Summary Report 외에도 Listener에 보면 여러가지 설정들이 있는데 아래와 같이 응답 시간에 대해서 그래프로 보여주는 기능도 있고 그 외에 기능도 다양하니 하나씩 써보는 것을 추천한다.

이렇게 세팅이 끝났다면 Summary Report로 이동해서 아래보이는 이미지에서 초록색 시작버튼을 눌러주면 된다.

그러면 그룹에서 설정했던 값으로 API 테스트를 시작하게 된다.

 

댓글