[Network] Jmeter

2juhyunju ㅣ 2023. 6. 20. 22:53

Jmeter

Apache JMeter는 서버가 제공하는 성능 및 부하를 측정할 수 있는 테스트 도구이다.

사전 작업

JAVA를 설치 하지 않으면 Jmeter를 설치했을 때 다음과 같은 오류가 발생한다.

 

JAVA 본인 컴퓨터에 맞게 설치
https://www.oracle.com/java/technologies/downloads/

 

Download the Latest Java LTS Free

Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

www.oracle.com

Jmeter 다운로드

공식 홈페이지에서 바이너니 파일다운

압축 해제 후 /bin 폴더에 들어가서 jmeter window 배치파일 실행

jmeter concurrency thread group

점진적 과부하를 테스트 하기 위해서 jmeter concurrency thread group을 다운로드 한다.

https://jmeter-plugins.org/wiki/ConcurrencyThreadGroup/

 

Documentation :: JMeter-Plugins.org

Concurrency Thread Group Download Authorship This plugin was implemented by BlazeMeter Inc. and then contributed to community as Open Source. Description This thread group offers simplified approach for configuring threads schedule. It is intended to maint

jmeter-plugins.org

다운로드후 압축을 풀고 apache-jmeter-5.5/bin에 복사한다.

Add → Threads(Users) → b2m-Concurrency Thread Group 클릭

필드 설명
Target Concurrencys jmeter가 생성하는 사용자수
Ramp up Time Target Concurrencys에서 설정한 사용자수 까지 도달하는 시간
Ramp up steps count Target Concurrencys에서 설정한 사용자수에 도달할 때까지 단계별로 사용자수를 증가
Hold Target Rate Time Target Concurrencys에 도달했을 때 유지시간

위를 예로 들어보면 최대 사용자수는 1500명이고 30분동안 단계별로 30명씩 점진적으로 사용자수를 증가 시키고 최대 사용자수가 됐을 때 5분동안 유지한다.

http request

서버에 부하 테스트를 할려면 http request를 만들어서 프로토콜,부하 테스트를 할 서버 IP,포트 번호,HTTP 요청등 입력해야 한다.

Name HTTP 요청 이름 (마음대로 정하는 값)

필드 설명
Name  HTTP 요청 이름 (마음대로 정하는 값)
Protocol[http] 요청할 프로토콜 (http,https)
Server Name or IP 요청을 보낼 서버 IP 주소
Port Number 요청을 보낼 서버 Port 번호
HTTP Request 어떤 메소드를 사용할것인지 ( GET,POST등)
Path 요청 경로

Summary Report

부하테스트 결과를 볼려면 add → Listener → Summary Report
Summary Report는 한 눈에 보기 좋게 요약해서 보여주는 보고서이다.

#Samples 서버에 요청한 횟수
Average 평균응답시간(ms)
Min 최소응답시간(ms)
Max  최대응답시간(ms)
Std. Dev 표준편차 요청에 대한 응답시간의 일정하고 안정적인가를 확인, 값이 작을수록 안정적이다.
Error Error율(%)
Throughput 처리량(초당 처리건수)
KB/sec 처리량(초당 처리 KB)

마무리

Jmeter는 스트레스 테스트를 하는데 좋은 도구이다.

윈도우에서도 GUI로 테스트하기 편하며 다양한 플로그인을 활용해 더 구체적으로 시나리오를 작성해 테스트 하기 용이하다. 오늘은 간단하게 점진적으로 사용자가 증가하여 서버에서 감당할 수 있는 동시 사용자가 몇명인지 테스트 해보았다.

'Network' 카테고리의 다른 글

locust 부하 테스트  (0) 2023.07.28
[Network] Jmeter HTTP Cookie Manager  (0) 2023.06.27
[Network] TCP/IP 4계층  (0) 2022.09.07
[Network] DAS,NAS,SAN  (0) 2022.09.06
[Network] OSI 7계층  (0) 2022.09.03