본문 바로가기
🎯 etc/Test

[ Jmeter ] 사용법

by 깸뽀 2022. 12. 11.
728x90

프로젝트 후 성능테스트를 하기 위해 Jmeter를 사용해 봤다

 

📌 Jmeter란?

Apache에서 만든 자바로 만들어진 웹 어플리케이션 성능 테스트 오픈 소스

 

 

테스트 종류

- 웹 - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)

- SOAP / REST 웹 서비스

- FTP

- JDBC

- LDAP

- JMS - Message-oriented middleware (MOM)

- Mail - SMTP(S), POP3(S) and IMAP(S)

- Native commands or shell scripts

- TCP

- Java Objects

 

 

📌 설치방법

 

1. Apache JMter 접속 후 다운로드

👉 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

 

 

* 다운로드 받은 후 원하는 경로에 압축을 풀어준다

 

 

📌 실행방법

 

1. cmd 접속

2. cmd에서 압축을 푼 폴더의 bin폴더로 이동

명령어 : cd 경로

3. jmeter입력 후 엔터

 

 

🤚 테스트 전 

테스트 하는 서버는 운영 전, 운영서버여야 합니다.

개발서버일 경우 운영서버와 환경이 같아야만 측정기록이 정확성을 갖습니다,

 

🔖 Jmter테스트 용어

- Thread Group : 테스트에 사용될 쓰레드 개수, 쓰레드 1개당 사용자 1명

- Sampler : 사용자의 액션 (예: 로그인, 게시물 작성, 게시물 조회 등)

- Listener : 응답을 받아 리포팅, 검증, 그래프 등 다양한 처리

- Configuration : Sampler 또는 Listener가 사용할 설정 값 (쿠키, JDBC 커넥션 등)

- Assertion : 응답 확인 방법 (응답 코드, 본문 내용 비교 등)

 

 

 

 

📌 Jmter 사용법 + 기록 남기기

 

1. 테스트 생성

✔ File - New  -  Test Plan ( name은 원하는대로 작성)

 

 

 

2.  Thread Group 생성

✔ Test Plan 우클릭 - Add - Threads - Thread Group

 

설정

- Action to be taken after a Sampler error에서 Error가 리턴됐을 때 어떻게 할 건지에 대한 설정을 할 수 있다

 

< Thread Properties >

- Number of Threads : 쓰레드 개수

- Ramp-up period : 쓰레드 개수를 만드는데 소요되는 시간

- Loop Count : infinite | n 으로 값을 설정할 수 있으며 설정된 값에 따라 Number of Threads X Ramp-up period 만큼 요청을 다시 보낸다.

 

 

 

3. Sampler

- Controller에 request 보내기

✔ Thread Group 우클릭 -> Add -> Sampler -> HTTP Request

 

설정

 

- Protocol : https 또는 http

- Server Name or IP : 호출할 IP

- Port Number : 8080

- HTTP Request : Mapping Method

- Path : 컨트롤러 URL

- Add : 파라미터 또는 RequestBody에 담을 값 추가

- Name : 파라미터 변수명

- Value : 파라미터 값

 

 

4. Listener

- 리턴 값을 바탕으로 그래프, 레포팅을 만들어 줌

- HTTP Request 우클릭 - Add - Listener - View Results Tree, jp@gc - Transactions per Second, Summary Report 생성

( + Hearder에 값이 필요하면 HTTP Header Manager) 생성

 

✔ HTTP Request - Config Element - HTTP Header Manager

 

✔ Add - 토큰값 추가

 

 

 

✔ HTTP Request - Listener - View Results Tree, jp@gc - Transactions per Second, Summary Report 

 

- View Result Tree : 하나하나의 데이터를 확인

jp@gc - Transactions per Second : 초마다 Transactions

- Summary Report  : 레포트 생성

Samples - requset 갯수
Average - Sample Time의 평균
Min - Sample Time의 최소
Max - Sample Time의 최대
Std. Dev. - Sample Time의 표준편차
Error % - 에러율
Throughput - 시간당 처리량(=쓰루풋)
Received KB/sec - 시간당(sec) 받은 데이터(KB)
Sent KB/sec - 시간당(sec) 보낸 데이터(KB)
Avg. Bytes - 평균 바이트

 

 

 

 

Summary Report 생성

 

 

 파일 이름은 파일명.cvs로 한다

 

 

 

 

📌 시작 

 

먼저 해당 기록이 있으면 컨트롤 + E 를 눌러서 삭제 해주거나, 상단에 빗자루모양을 클릭해서 지워준다

시작할때는 초록색 화살표를 누르면 된다

 

 

 

 

그래프가 잘나온다!!!!

 

 

 

📌 파일로 만들기

 

 

1. Generate HTML report 

 

 

2.

1) Results file (csv or jtl) :  Summary Report로 만든 파일 선택

 

 

2) user.properties file : jmeter.properies

 

 

 

3) Output directory : 결과값을 저장할 폴더 생성

 

 

 

 

📌 결과 확인

해당 폴더로 가면 확인할 수 있다

728x90

댓글