[JMeter]_부하 테스트 도구 JMeter

2022. 10. 28. 15:42[TEST]_도구

728x90
반응형

개요

솔루션 개발이 완료 될 무렵

코드의 성능 테스트를 해야 합니다.

 

동시접속시 속도 유지를 테스트 한다던지,

에러 발생이 얼마나 나는지,

응답 속도의 평균이 얼마가 되는지 알도록 도와주는 오픈소스 툴이 있습니다.

 

오늘은 JMeter 를 사용해서 간단히 테스트 하는 방법을 알아보겠습니다.


테스트 대상 

개발 한 WebService 프로그렘

 

테스트로 Local환경의 Spring Web Application 을 테스트 해보았습니다.


사용 툴

JMeter


설치

공식 사이트

https://jmeter.apache.org/

 

Apache JMeter - Apache JMeter™

Apache JMeter™ The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to oth

jmeter.apache.org

해당 사이트에서 

  1. DownLoad Releases 선택
  2. zip 파일 다운로드
  3. 다운 받은 zip 폴더를 압축 해제

압축 해제한 폭더에 bin/jmeter.bat 파일을 실행시킵니다.

 

위의 화면이 뜨면서 정상적으로 설치 된 것을 확인할 수 있습니다.


사용방법 설명

1. HTTP header 정보를 기입할 공간 만들기

HTTP Header Manger 생성

  1. test plan 마우스 우클릭
  2. add 클릭 
  3. config element 선택
  4. HTTP Header Manger 선택

2. 얼만큼의 부하를 줄건지 설정할 공간 만들기 

Thread Group 생성

  1. test plan 마우스 우클릭
  2. add 클릭 
  3. Thread Group 선택

 HTTP header 정보를 기입

 

로그인을 한 페이지의 API 테스트 시 로그인 정보를 미리 줘야 합니다.

보통 global storage 혹은 Session 혹은 Cookie 로 구분을 하게 됩니다.

 

해당 정보는 다음과 같은 형식으로 기입해 주면 됩니다.

 

쿠키의 경우

global-Storage 인 경우

 

4. Thread Group 정보를 기입

1. Number of Threads : 얼만큼의 사용자 수로 테스트 할 것인지 결정

2. Ramp-up period : 얼만큼 실행 시킬 것인지 (sec)

3. Loop Count : 얼만큼 반복 할 것인지 (infinite 설정시 stop 하기 전까지 실행)

4. Thread Group 아래에 한가지의 API 테스트 공간 만들기

 

5. HTTP Request 생성

  1. Thread Group 마우스 우클릭 
  2. ADD 선택
  3. Sampler 선택
  4. HTTP Request 선택

6. HTTP Request 설정

  1. http 또는 https 프로토콜 종류 입력. Default = http
  2. Server Name 혹은 IP 주소 : localhost 사용 가능
  3. Port Number : Web Service 의 Port 번호 기입
  4. 해당 HTTP Request 의 형식 기입
  5. Path : API 발송 URL 기입
  6. 인코딩 정보 기입
  7. 만약 body 에 데이터를 실어서 보낸다면 해당 양식에 맞게 기입

7. Advanced 설정

java : JVM 에서 제공하는 HTTP 구현 사용. 제약사용이 있어 굳이 사용하지 않는다

HTTPClient4 : Apache 에서 제공하는 HTTP

 

8. 통신 결과를 알려주는 공간 생성

Listener 생성

그림은 HTTP 에서 시작하지만 전체를 보려면 Thread Group 에 생성하면 됩니다.

  1. Thread Group 혹은 각각의 HTTP Request 에 마우스 우클릭
  2. ADD 선택
  3. Listener 선택
  4. view Result tree 와 summary Report 선택

view result tree

해당 항목은 HTTP 리퀘스트가 성공하는지 아닌지를 확인할 수 있습니다.

실패시 왜 실패하였는지 나오기 때문에 디버그용으로 사용합니다.

 

summery report

해당 Request 의 오류, 평균 응답속도, 등의 정보가 도표로 도출됩니다.

 

감사합니다.

728x90
반응형