Thread 세팅
이번에 다시 Jmeter를 도전하면서, 좀 더 세부적으로 Thread 관련 정보를 설정하기 위해 정보를 찾아보았다.

Test Plan > Add > Threads(Users) > Thread Group
에서 테스트할 쓰레드 그룹을 생성한다.

Action to be taken after a Sampler error
- Sampler에서 오류가 발생했을 때의 대처에 대한 설정이다.
- 일반적으로는 오류가 발생해도 계속 진행할 수 있도록 Continue를 사용한다.
- Start Next Thread Loop: 에러가 발생한 스레드를 다음 루프에서 다시 처음부터 시작한다.
Thread Properties
- Number of Threads: 가상 사용자 수
- Ramp-Up Period: 몇 초 동안 나눠서 가상 사용자를 차례대로 생성할지 설정
Ramp-Up Period가 모든 Thread의 생성 및 전체 요청시간을 설정한다고 이해하고 있었는데, 그게 아니라 생성 시간만 설정하는 기능이다!
- Loop Count: 테스트 반복 횟수
(Infinite: Stop을 누르기 전까지 테스트 반복)
- Same user on each iterator: 첫 응답에서 얻은 쿠키를 다음 요청에도 사용
- Deplay Thread creation until needed: 설정한 Number of Threads 개수만큼 Thread가 다 생성 완료된 이후에 테스트를 시작하도록 함
- Specify Thread lifetime
-Duration: 테스트 시간을 초 단위로 설정.(전체 요청 시간은 여기서 설정하는 것이었다!)
-Startup delay: 설정된 시간 내에서 Threads가 순차적으로 시작됨.
각 Thread의 시작 시점을 다르게 하고 싶을 때 사용
레시피 업로드 테스트 시나리오

- 1,10,50명의 유저로 테스트: Number of Threads에 테스트할 유저 수 입력
- 10초동안 Thread 생성: Ramp-up period를 10으로 설정
- 반복 테스트는 하지 않음: Loop Count 1로 설정
- 테스트 수행 시간 제한 없음: Duration 설정X
- (만약 Thread 생성 시간을 포함한 전체 테스트 시간을 100초 내에 종료하고 싶다면)
: Specify Thread lifetime을 체크하고, Duration에 100초 입력
- Thread가 모두 생성된 후에 테스트 시작
: Delay Thread creation until needed 체크
- 모두 다른 유저가 동시에 접근했다는 가정으로 테스트 진행
: Same user on each iteration 체크X
HTTP 설정

HTTP를 세팅할 Thread group에서 우클릭 > Add > Sampler > HTTP Request

전송 procotol와 IP 및 도메인, 메서드와 Path를 설정할 수 있다.
Parameters, Body Data, Files Upload에 각각 메서드와 상황에 맞게 전송할 데이터를 추가할 수 있다.
Counter 설정
예를 들어 Path를 /test/${memberId}로 설정해 memberId 1~10,000번까지 순차적으로 테스트를 진행하고자 한다면, memberId에 관한 Counter를 별도로 설정해 줄 수 있다.

Add > Config Element > Counter
에서 아래와 같이 설정하였다.

그 외

Add > Config Element
- CSV Data Set Config: 엑셀 등에서 작성한 데이터를 적용할 수 있다.
- HTTP Header/Cookie/Cache Manager: 헤더/쿠키/캐시에 적용하고자 하는 내용을 추가할 수 있다.
- HTTP Request Defaults: 보통 하나의 TestPlan 하위에는 여러 개의 HTTP Request Sampler가 존재하는데, 이 때 공통으로 들어가는 파라미터가 있을 경우 HTTP Request Defaults로 한번에 설정할수 있다.
리스너

Add > Listener
에서 테스트 결과를 여러 지표로 나타낼 수 있는 리스너를 설정할 수 있다.
일반적으로 사용하는 리스너는 아래와 같다.
