본문 바로가기
스프링 부트/A-ger

맥북으로 스프링에서 Jmeter로 성능 테스트해보기

by illlilillil 2022. 2. 4.

1. Jmeter를 먼저 깔아줍시다.

 

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

zip 파일을 받고 압축을 풀어주도록 합니다.

 

2. 별도 설치 필요 없이 터미널에 접속하고 압축 푼 폴더 안의 /bin 폴더로 들어가주세요

3. ./jmeter로 실행하면 끝!

 

4. 쓰레드 추가하기 - 우클릭하고 add - threads(Users) - Thread Group 눌러주세요

 

5.  다량의 요청을 감안하고 서비스를 만들기 위해 유저 수를 1000으로 설정하고 루프 카운트를 5번으로 설정해 천 명의 유저가 5번의 요청을 보내도록 설정합니다.

 

6. 요청을 보내기 위한 설정을 합니다. add - sampler - http request 눌러주세요

로컬에서 테스트하기 위해 localhost로 해주시고 포트는 8080, 하단에 api 요청 주소를 입력해주세요

 

7. 단순 요청만 하면 어떤 요청이 처리량이 좋았는지 보이지 않습니다. report를 추가해줍니다.

Add -> Listener -> Summary Report

 

이제 모든 준비가 끝났습니다.  redis 캐싱 적용 전과 후의 처리량을 비교해보겠습니다.

 

상단의 초록색 start 버튼을 누르면 테스트가 시작됩니다.

 

단순 조회와 캐싱 적용 후 조회 두 가지를 실행해봤을때 throughput에서 많은 차이를 보입니다. 1초마다 처리량을 나타낸 것인데 캐싱 적용 후가 약 3.5배의 차이를 보여주고 있습니다. 또한 적용 전에선 디비 조회를 동시 다발적으로 수행하기 때문에 에러가 발생하는데 캐싱 적용후엔 에러율이 0퍼센트 인 점도 주목해봐야 할 것 같습니다.  현재 조회하는 api는 많은 정보가 담겨 있지 않지만 차후에 많은 정보가 담긴 데이터를 캐싱 처리하게 된다면 몇 배가 아닌 수십배의 성능 차이를 보여줄 수 있다고 생각합니다.

 

 

 

 

댓글