[개발관련지식] API 부하테스트 (JMeter)
참조: https://effortguy.tistory.com/164
https://lurutia.tistory.com/859
설치
1. Apache JMeter 다운로드 페이지 접속
https://jmeter.apache.org/download_jmeter.cgi
2. JMeter 파일 다운로드
3. 다운로드 파일 압축해제 후 실행
cd apache-jmeter-5.5/bin
./jmeter
JMeter 테스트 용어
- Thread Group : 테스트에 사용될 쓰레드 개수, 쓰레드 1개당 사용자 1명
- Sampler : 사용자의 액션 (예: 로그인, 게시물 작성, 게시물 조회 등)
- Listener : 응답을 받아 리포팅, 검증, 그래프 등 다양한 처리
- Configuration : Sampler 또는 Listener가 사용할 설정 값 (쿠키, JDBC 커넥션 등)
- Assertion : 응답 확인 방법 (응답 코드, 본문 내용 비교 등)
테스트
1. File -> New -> Test Plan Name 설정
2. Thread Group (유저 수) 설정
- Number of Threads : 쓰레드 개수 (유저 수)
- Ramp-up period : 쓰레드 개수를 만드는데 소요되는 시간
- Loop Count : infinite | n 으로 값을 설정할 수 있으며 설정된 값에 따라 Number of Threads X Ramp-up period 만큼 요청을 다시 보낸다. (각 유저마다 Loop Count 만큼 반복)
- Action to be taken after a Sampler error : 에러 발생 시 어떻게 처리 할지
3. Sampler 설정
Thread Group 우클릭 -> Add -> Sampler -> HTTP Request 클릭
Server Name or IP : 테스트 서버 IP or 도메인 주소 입력
HTTP Request : HTTP 메소드 선택
Path : API 명 입력
Parameters or BodyData : 파라미터 입력
아래는 예시
4. API Header 설정
API 호출에 필요한 인증값들을 헤더에 설정 가능
HTTP Request 우클릭 -> Add -> Config Element -> HTTP Header Manager
크롬 개발자도구 Network API Header 영역을 복사하여 하단에 'Add from Clipboard'를 클릭하면
복사한 내용이 들어감
5. Listener
Sampler가 받아온 리턴값을 표시 해줌
HTTP Request 우클릭 -> Add -> Listener -> 원하는거 선택
취향껏 추가하면 됨
실행
위 설정 완료 후
녹색 실행버튼 클릭