시냅스

JMeter 설명과 사용법 정리 본문

Java, Spring

JMeter 설명과 사용법 정리

ted k 2023. 2. 19. 15:49

 

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
      • 반복하고자 하는 횟수

 

 

  • HTTP Request 에서 우리의 도메인과 포트, Request 등을 설정하고 Start를 누른다.

 

 

  • 위와 같이 생성된 것을 확인할 수 있다.
Comments