JMeter 사용해 보기
프로젝트를 하면서 성능 테스트를 위해 JMeter를 사용해 보려고 한다.
테스트 전 JMeter의 사용법에 대해 정리하자.
1. JMeter
JMeter는 서버가 제공하는 서비스에 대한 성능 측정, 그리고 그 결과를 보여주는 테스트 툴이다.
서버가 얼만큼의 요청을 처리할 수 있는지를 확인하고 싶을 때 사용한다.
2. JMeter 설치 방법
JMeter는 아래 링크에서 다운로드할 수 있다.
Apache JMeter - Download Apache JMeter
네모 표기된 파일을 다운로드한 후, 압축을 해제한다. 압축을 해제하면 폴더가 하나 생성되는데, 그 폴더 안에 있는 bin 폴더를 연 후, jaz를 실행해 창을 열 수 있다.
3. JMeter 사용해 보기
창을 열면 아래와 같은 창을 볼 수 있다.
IntelliJ와 구성은 비슷해 보인다. 좌측은 항목, 우측은 설정. 먼저 1번 항목의 테스트 계획을 우클릭해 추가 - 쓰레드 - 쓰레드 그룹 을 통해 쓰레드 그룹을 추가한다. 쓰레드 그룹을 다시 우클릭해 추가 - 표본추출기 - HTTP 요청을 통해 HTTP 요청 쓰레드를 작성해 보았다.
쓰레드 그룹에서 몇 개의 쓰레드를 사용할 것인지 설정할 수 있다. 가볍게 100개만 실행해 보자.
HTTP 요청에서 테스트를 위한 HTTP 메소드와 파라미터, Body 등을 설정할 수 있다.
처음이니 login을 테스트해 볼 예정이다.
url은 localhost:8080/api/user/login인데, 서버 이름, 포트번호, http 요청 경로가 전부 나뉘어져 있어 우선은 분리해서 입력했다.
원래는 요청 시 Token을 저장해야 하는데, 토큰 저장 설정은 따로 있는 듯하다. 다만 토큰을 한 번 저장하면 두 번째부터는 로그인 시도가 안될 수 있으니 우선은 설정하지 않고 실행해본다.
테스트 그룹을 우클릭 후, 시작을 눌러보았다. 우측 상단에 테스트 횟수와 테스트에 걸린 시간이 표기된다.
그런데 쓰레드는 동작했는데 아무것도 볼 수가 없다. 이는 테스트 결과를 시각화해 줄 항목이 없기 때문이다.
HTTP 요청의 추가 - 리스너 - 결과들의 트리 보기 를 통해 테스트 결과를 확인할 수 있는 항목을 추가해 준다. 그 후 다시 쓰레드 그룹을 실행시켜 보자.
실행하다 알게 되었는데, 서버 이름에는 http://를 뗀 도메인만 입력하는 것이었다.
열심히 요청했고 열심히 응답을 받은 기록들을 살펴볼 수 있다. 또한 각 요청의 requestBody와 responseBody도 우측에서 확인할 수 있었다.