Recent Posts
Recent Comments
250x250
관리 메뉴

JIE0025

[Apache JMeter] JMeter란? / 구성 요소 / mac 설치 방법 본문

Infra/Middleware

[Apache JMeter] JMeter란? / 구성 요소 / mac 설치 방법

sdoaolo 2025. 10. 11. 13:26

 

 

 

✅ 개요 

업무상 7월에 성능테스트를 접하게 되어 2주간의 빠른 기술학습과 책1권 정독을 마치고

테스트 시나리오 1-2건에 대한 스크립트 작성

성능테스트 당일에 WAS모니터링에 대한 업무지원을 했다.

 

이에 따라 학습했던 내용을 기억하기 위해 

처음부터 내용을 적는다. 

 

 

✅ Apache 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

 

 

✅ Apache JMeter 특징 

 

0. 오픈소스 소프트웨어이기 떄문에 무료이다.

기여자 커뮤니티에 의해서 지속적으로 업데이트 된다.

 

 

1. 다양한 프로토콜이 지원된다.  

  • Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
  • SOAP / REST Webservices
  • FTP
  • Database via JDBC
  • LDAP
  • Message-oriented middleware (MOM) via JMS
  • Mail - SMTP(S), POP3(S) and IMAP(S)
  • Native commands or shell scripts
  • TCP
  • Java Objects

 

++  JMeter Plugin이라는 프로젝트가 있다.

 

https://jmeter-plugins.org/ 

 

JMeter Plugins :: JMeter-Plugins.org

 

jmeter-plugins.org

 

JMeter의 기본 기능만으로는 해소하지 못하는

그 외 기능은  Plugin을 통해 활용 할 수 있다. 

 

 

 

✅ 구성 요소

# 테스트 계획

Jmeter가 테스트를 수행할 때 실현할 일련의 단계를 정의하는것이다. 

사용자의 수 / 요청 유형 / 루프 / 조건문 등 포함하고 싶은 논리가 포함된다.

 

# Element

: 테스트 계획 밑에 있는 모든 요소들을 Element라고 한다. 

 

# Thread Group  

: 몇개의 스레드를 몇초안에 보낼지 등  테스트할 스레드의 정보를 입력한다. 

 

# Sampler

:  요청을 보내는 컴포넌트이다. ( HTTP요청 / JDBC요청 등 )

 

# Controller

: 순서/ 반복/ 조건등 설정할 수 있다.

 

Example )

스레드 그룹 설정 : 스레드를 10개 생성했고 각스레드는 1번만 처리한다.

스레드 그룹 내부에 Once only Controller + While Controller 로 구성되어 있다.

 

Once only Controller 내부에 있는  sampler는  어떤 스레드간 1번만 처리한다.  (스레드별 1번 처리하므로 총 10번 처리된다. )

이후 While Controller에서 3번씩 동작하게 할 경우  10개의 스레드는 각각 While Controller 내부의 요청을 3번 반복하게 될 것 이다.  (10개의 스레드가 3번씩 반복 > 총 30번) 

 

 

# Listeners

테스트 결과를 표시/ 저장하는 컴포넌트이다. 

view result tree, summary report 등이 있다. 

 

 

# Assertions 
:  응답 결과에 대한 검증 컴포넌트이다. 

 

예를들어 응답이 200이 와야하고, body안에 ResultCount : 의 값이 1 이상이어야한다. 

이럴 경우 Assertions 에 Response code / body 에 대한 정의를 해주면 된다. 

 

테스트를 돌렸을 때 정상적인 값 / 다른 값이 나오는지 확인이 가능하다. 

 

 

# Timer 

요청 간의 지연 시간을 나타낸다. 

 

 사용자가 홈페이지에 접속하여 다음 버튼을 누르기까지 10초의 Think time이 있다고 가정하면 

 A샘플러 -> B샘플러로의 요청 사이에   Timer를 지정하여  10초의 지연을 줄 수도 있다. 

 

 

# Config Elements

테스트에서 공통으로 사용하는 값들에 대한 설정을 뺄 수 있다. 

Domain name,  IP, Port,   File Path   등의 공통 변수를  User Defined Variables에 추가하고, 

HTTP Header manager 에   ${Domain}  ${Port}  등 변수로써 처리하면  

해당 Config element가 작동하는 범위 안에서 모든 요청은 해당 도메인/ 포트번호로 전송된다. 

 

 

# Pre-Processors & Post-Processors

샘플러의 요청 이전에 처리할 작업이나   요청 이후 처리할 작업이 있을 경우  이 컴포넌트를 이용하면 된다. 

 

Pre-Processor (샘플러 이전 처리)

---  요청 전에 해줘야하는 작업

 

Post-Processor (샘플러 이후 처리)

--- 응답으로 돌아온 값이 다음 요청의 Input으로 들어갈 경우

 

 

 


 

✅ Apache Jmeter 설치하기 

 

아파치 제이미터의 설치는 아주 간단하다.

 

1. 아래 링크에 접속한다.

 

https://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

 

 

2. 바이너리 파일로 다운받는다. 

Binaries > apache-jmeter-5.6.3.tgz

 

 

 

 

 

사용하고 싶은  디렉터리에 위치시키고,  더블클릭하여 압축해제한다.

 

 

bin 디렉터리 내부에   여러 실행파일들이 존재하는데 ,,, 

Mac에선 jmeter.sh로 실행하고

Windows에선 jemter.bat으로 실행한다. 

 

 

 

 

 

다음 글

간단하게 Jmeter의 사용법을 익히는 정도로 테스트 시나리오를 만들고 돌려보는 내용이다. 

 

 

 

728x90

'Infra > Middleware' 카테고리의 다른 글

GC Tuning  (0) 2025.08.11
자바 성능 튜닝  (0) 2025.08.10
[Apache] Proxy 설정  (0) 2025.05.20
프록시의 개념과 종류 (Foward Proxy, Reverse Proxy)  (0) 2025.05.19
[APM][제니퍼5] Jennifer 5의 아키텍처를 알아보자.  (0) 2025.05.10