반응형
- 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는 그때그때 필요한 기능들을 찾아서 설정하시면 되겠습니다. :)