티스토리 뷰

스프링

JMeter 웹서버 부하테스트

Lurutia 2021. 2. 5. 17:28

JMeter란

부하 테스트, 기능 동작과 성능을 측정하기 위해 제작된 JAVA 어플리케이션 오픈소스 소프트웨어입니다. JMeter는 정적 및 동적 리소스, 웹 동적 애플리케이션에서 성능을 테스트하는 데 사용할 수 있습니다.

 

목적

AWS EC2 에 배포한 Spring boot 웹 어플리케이션이 얼마만큼의 부하에 견딜 수 있는지 방법을 찾아보다가 JMeter 라는 애플리케이션을 알게 되었고 꽤나 괜찮다는 평이 많은것 같아 HTTP Request 부하 테스트 Tool로 사용하기로 했습니다.

 

다운로드 및 실행(mac)

$ brew install jmeter
$ open /usr/local/bin/jmeter

 

다운로드(windows)

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

저는 Apache JMeter 5.4.1(Requires Java 8+) Binaries zip으로 되어있는 걸로 받았습니다.

apache-jmeter-5.4.1/bin/jmeter.bat 로 실행 할 수 있습니다.

 

사용법

저는 HTTPS로 Content-type application/json 으로 POST 부하 테스트를 하였습니다. 이 목적에 맞는 사용법입니다.

 

JMeter 용어

  • ThreadGroup : 테스트를 수행하는 주체(User)입니다.
  • Sampler : 액션, 행동등을 지정합니다.
  • Listener : 부하 테스트의 결과를 데이터나 그래프로 보여줍니다.

Test Plan을 우클릭 해서 Thread Group 을 추가해 줍니다.

 

Thread Group을 설정합니다.

  • Number of Thread : 동시에 생성될 쓰레드의 수입니다. 여러명의 사람이 동시에 접속하는 효과를 냅니다.
  • Ramp-Up Period : 지정된 기간동안 균등하게 요청을 합니다. Thread가 10이고 Period가 60이라면 6초에 한번씩 요청을 하려고 노력합니다.
  • Loop Count: 쓰레드의 반복 횟수를 의미합니다. 10이면 10번 반복합니다. Forever에 체크하면 무한 반복합니다.

 

 

Thread Group - Add - Sampler - HTTP Request 를 선택합니다. 

 

HTTP Request를 설정합니다.

Protocol(http라면 입력하지 않아도 됩니다.), Server Name or IP, Path, Port Number를 부하 테스트 하고싶은 서버에 맞게 입력해 줍니다.

 

HTTP Header Manager를 설정합니다.

Content-type을 바꾸기 위해서는 HTTP Header를 변경 할 필요가 있습니다.

HTTP Request - Config Element - HTTP Header Manager 를 추가하고 Content-type application/json 을 추가해 줍니다.

 

Listener 를 추가합니다.

결과를 확인하기 위한 Listener를 추가해줍니다. 저는 View result tree와 Graph Results를 추가하였습니다.

Thread Group - Listener - View result tree/Graph Results

 

부하 테스트를 시작합니다.

 

결과 확인

부하테스트 그래프와 요청Header/body 그리고 Response data까지 확인 할 수 있었습니다.

 

 

reference

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함