JMeter를 사용해서 사이트를 테스트하면서 작성한 내용이다.
Redirect Limit 변경하기
Jmeter는 기본적으로 1회에 리다이렉트가 다섯 번 이상 발생하면, 다음과 같은 에러를 출력하면서 종료가 된다.
java.io.IOException: Exceeeded maximum number of redirects: 5
이것은 설정 파일을 변경해서 해결할 수 있다. 5회에서 100회로 바꿨다.
JMeter가 실행파일과 같은 디렉터리에서 httpclient.parameters:
...
# Maximum redirects to follow in a single sequence (default 5)
httpsampler.max_redirects=100
...
HTTP 쿠키 사용하기
스레드의 한 주기에 Redirect가 여러 번 발생할 수 있는 테스트를 진행해야 했다. 여러 요청을 해야 하는 상황인데, 서버에서 쿠키를 생성해도 요청마다 새로운 세션으로 인식해서 테스트에 문제가 있었다. 즉, 이런 상태였다.
- Thread1-1
- Req 1 (Session 1)
- (302) Req 2 (Session 2)
- (302) Req 3 (Session 3)
- (302) Req 4 (Session 4)
- Thread2-1
- Req 1 (Session 5)
- (302) Req 2 (Session 6)
- …
- …
내가 원하는 것은:
- Thread1-1
- Req 1 (Session 1)
- Req 2 (Session 1)
- Req 3 (Session 1)
- Req 4 (Session 1)
- Thread2-1
- Req 1 (Session 2)
- Req 2 (Session 2)
다음과 같은 구조로 테스트 플랜을 구성해서 해결했다.
- Thread Group
- HTTP Request
- HTTP Cookie Manager (Clear cookies each iteration?옵션 체크)
- HTTP Request
주요 설정의 의미
Thread Group
설정 | 의미 |
---|---|
Number of Threads (users) | 동시 요청하는 스레드 수 |
Ramp-Up Period (in seconds) | 상승 시간 (초 단위로). 한 주기가 어느 정도 간격을 두고 실행될지를 정하는 옵션. |
Loop Count | 얼마나 반복할지 |
Delay Thread creation until needed | 필요할 때까지 지연 스레드 |
Scheduler | 시작 시각, 종료 시각, 기간과 시작 시 지연을 설정할 수 있다. |
HTTP Request
설정 | 의미 |
---|---|
Redirect Automatically | Redirect가 http 프로토콜스택에 의해 처리됨. |
Follow Redirects | Redirect가 JMeter에 의해 처리됨. |