JMeter를 사용하면서 알게 된 내용과 옵션의 의미 정리

Mar 30, 2017

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?옵션 체크)

주요 설정의 의미

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에 의해 처리됨.