JMeter로 Back-end 성능 테스트

Soyeon You·2023년 6월 9일
0

BE

목록 보기
1/1

Spring에서 작성한 Back-end 코드를 테스트 해보려한다.
웹 애플리케이션 성능 테스트를 위해 JMeter를 사용할 거다.

Install JMeter

JMeter가 뭐냐면
Apache에서 만든 자바로 만들어진 웹 애플리케이션 성능 테스트 오픈 소스이다.
사실 다른 테스트도 많았는데 이게 젤 쉬워보여서 선택했다 ㅎ..

JMeter를 설치하기 위해 공식 홈페이지에서 zip 파일을 다운 받는다.

apache-jmeter-5.5.zip 클릭해서 다운로드 후 압축해제해준다.
(5.5가 아니어도 최신버전으로 다운받으면 된다.)

Run JMeter

다운받은 zip 파일을 압축해제 해준 다음 터미널을 킨다.
터미널에서 압축해제된 apache-jmeter-5.5.의 bin 파일로 이동한다.

cd Downloads/apache-jmeter-5.5/bin
./jmeter


이동한 위치에서 jmeter를 실행해주면 된다.
*window는 이동하고 jmeter만 입력하면 실행된다.

제대로 실행됐다면 위와 같은 GUI를 확인할 수 있다.

Test WA

정확한 측정을 위해 test와 web application의 서버는 달라야 하지만 나는 둘 다 local에서 돌릴 것이다 ^.^

Create Test

왼쪽 상단의 Test Plan을 우클릭하고 Add > Threads > Thread group을 생성하자
나는 1000명을 유저수(thread수)로 잡았다.

Create HTTP Request

Add > Sampler > HTTP Request로 이동해서
이제 테스트 할 API를 생성해주자
나는 검색 API인 search를 path로 넣어주었다.
나처럼 로컬에서 실행한다면 IP에 localhost를 적어주면 된다.

Summary Report

이제 테스트를 돌리고 결과를 확인해볼 것이다.
Add > Listener > Summary Report를 눌러 결과창을 추가해준다.

여기까지 하고 맨 위의 초록색 실행버튼을 누른다.

그럼 스레드가 1000번까지 올라가다가 이런식으로 결과를 확인할 수 있다.
나는 filter HTTP Request를 하나 더 추가해주었다.

  • Label : Sampler 명
  • Samples : 샘플 실행 수 (Number of Threads X Ramp-up period)
  • Average : 평균 걸린 시간 (ms)
  • Min : 최소
  • Max : 최대
  • Std. Dev. : 표준편차
  • Error % : 에러율
  • Throughput : 분당 처리량
  • Received KB/sec : 초당 받은 데이터량
  • Sent KB/sec : 초당 보낸 데이터량
  • Avg. Bytes : 서버로부터 받은 데이터 평균

백엔드 테스트는 처음 해봤는데 실무에서도 이런식으로 테스트를 하는 지 궁금해졌다.
아마 이렇게 로컬에서 안 하고 배포 후 테스트를 하겠지만..

0개의 댓글