일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JPA
- mongoDB
- 컴퓨터구조
- 네트워크
- 운영체제
- Kafka
- redis
- 알고리즘
- JavaScript
- C
- react
- MySQL
- Algorithm
- Spring
- 파이썬
- 자료구조
- Data Structure
- Heap
- OS
- MSA
- Proxy
- 자바
- c언어
- design pattern
- spring webflux
- 백준
- Java
- IT
- Galera Cluster
- 디자인 패턴
Archives
- Today
- Total
시냅스
JMeter 설명과 사용법 정리 본문
JMeter
- Apache 에서 만든 자바 기반의 오픈소스 부하 및 성능 테스트 툴
- web application 및 api, FTP, Database, JMS, LDAP 및 SOAP등 다양한 유형의 서비스를 테스트 할 수 있다.
- 사용자의 요청에 대한 응답 시간, 처리량 및 성능 지표를 측정할 수 있다.
- 지원하는 기능
- 프로토콜 : HTTP, HTTPS, FTP, JDBC, LDAP, JMS, SOAP 등
- 테스트 계획 : 스레드 그룹, 요청, 사용자 인증 및 요청 변수 등
- 세밀한 제어 : 스레드 수, 요청률, 대기 시간 및 요청 순서를 제어
- 리포팅 및 분석 : 결과를 분석하고 그래프, 표, 트리, 요약보고서 등의 형태로 표시
설치
- 맥 환경에서 설치한다.
brew install jmeter
- brew 를 통해 설치한 이후
open /opt/homebrew/bin/jmeter
- 명령어를 통해 jmeter 를 설치한다.
이후 Option > Plugin Manager > Available Plugins
- 3Basic Graphs
- Custom Thread Gropus
을 선택하고 apply and restart 를 통해 재실행한다
테스트
package com.example.load;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
class TestController {
@GetMapping("/")
public String test() {
return "hi!";
}
}
@SpringBootApplication
public class LoadTestApplication {
public static void main(String[] args) {
SpringApplication.run(LoadTestApplication.class, args);
}
}
- hi 라는 문자열을 리턴하는 간단한 컨트롤러를 생성하였다.
- 테스트는 Thread Group 을 생성하는 것을 시작으로 한다.
- Sampler
- 테스트 대상을 나타내는 요소이다.
- 테스트할 URL, 데이터베이스 쿼리 또는 메세지 등을 정의하여 요청을 보내고 결과를 분석한다.
- 우리는 간단히 HTTP Request를 분석한다.
- Listener
- 실행 결과를 확인하고 분석하는 데 사용한다.
- 그래프, 테이블, 트리 뷰 등의 다양한 형태로 결과를 표시한다.
- 우리는 Summary Report를 추가한다.
- 다시 Thread Group 으로 돌아와서 아래의 값을 설정한다.
- Number of Threads(users)
- 몇 개의 쓰레드를 생성할 것인지
- Ramp-up Period(seconds)
- 한 번의 실행을 몇 초 동안 완료 시킬 것인지
- Loop Count
- 반복하고자 하는 횟수
- Number of Threads(users)
- HTTP Request 에서 우리의 도메인과 포트, Request 등을 설정하고 Start를 누른다.
- 위와 같이 생성된 것을 확인할 수 있다.
'Java, Spring' 카테고리의 다른 글
Visual VM과 nGrinder를 사용한 모니터링과 부하 테스트 (0) | 2023.02.19 |
---|---|
nGrinder 설명과 사용법 정리 (5) | 2023.02.19 |
JMX 와 VisualVM 그리고 Heap dump 분석하기 (0) | 2023.02.19 |
Java 코드로 보는 Lock Striping 과 ConcurrentHashMap, CAS (Compare-And-Swap) (2) | 2023.02.17 |
Java 프로세스 동기화 process synchronization 정리 (0) | 2023.02.11 |
Comments