본문 바로가기
카테고리 없음

JMeter를 활용한 API 호출 테스트 ( JMeter-2 )

by techdebt 2025. 8. 17.
반응형

 

- JMeter를 활용한 API 호출 테스트

Jmeter UI 를 활용하여 간단한 API 호출 테스트를 위한 예제를 만들어 보겠습니다.

일반적으로 GPT를 통해서 JMX를 스크립트를 쉽게 만들 수는 있지만, 

linux 환경에서 혹은 Jmeter로 import 시 에러 발생 확률이 높기에 직접 만듭니다.

 

1. 쓰레드 그룹 생성

쓰레드 그룹JMeter에서 **가상 사용자(Virtual User)**를 정의하는 기본 단위이며,

실제 부하 테스트에서 동시 접속자 수와 테스트 시나리오를 제어합니다.

 

■ 주요 설정 옵션

Number of Threads (users): 5     # 동시 사용자 수
Ramp-up Period (seconds): 10       # 사용자 증가 시간 (10초에 걸쳐 5명)
Loop Count: 3                     # 각 사용자가 반복할 횟수

 

2. HTTP 요청 추가

다음으로 HTTP Request를 추가합니다. HTTP 요청은JMeter에서 웹 서버에 HTTP 프로토콜로 요청을 보내는 핵심 샘플러(Sampler)입니다. 실제 브라우저나 클라이언트가 웹 서버에 보내는 요청을 시뮬레이션 가능합니다.

 

■ 주요 설정 옵션

# 프로토콜
HTTP 
HTTPS 

# 서버 이름 또는 IP
호출할 대상 IP 혹은 도메인이름

# 포트번호
포트번호

# HTTP 요청
GET     : 데이터 조회 (/api/users/123)
POST    : 데이터 생성 (회원가입, 로그인)
PUT     : 데이터 전체 업데이트
PATCH   : 데이터 부분 업데이트  
DELETE  : 데이터 삭제
HEAD    : 헤더 정보만 조회
OPTIONS : 서버가 지원하는 메소드 확인

# 경로
호출할 도메인 URL 경로 ( 메인도메인 뒤에 호출할 경로 ex) google.com/api/users 이면 /api/users 가 경로 )

# 파라미터들
# 이름을 id 값을 123 으로 설정했을 경우
users?id=123

# Body 데이터
POST method의 JSON 형식일 경우 아래처럼 가능
Body Data:
{
  "username": "나야",
  "password": "비밀번호",
  "email": "이메일"
}

 

3. 호출 결과 확인

다음으로 결과들의 트리 보기 추가 를 합니다. JMeter에서 각 HTTP 요청의 상세한 결과를 트리 구조로 보여주는 리스너(Listener)입니다. 개별 요청의 요청 내용, 응답 데이터, 헤더 정보 등을 실시간으로 확인할 수 있어 디버깅과 테스트 검증에 필수적인 도구입니다.

 

별다른 설정없이 호출할 경우에도 다음과 같이 HTTP 결과들을 간편하게 확인할 수 있습니다.

 

이 외의 트랜잭션 컨트롤러 등 여러가지 설정들이 있습니다만, 결과적으로 어떤 시스템에 어떤 부하를 주느냐가 가장 중요함으로

JMeter는 그때그때 필요한 기능들을 찾아서 설정하시면 되겠습니다. :)