2017-05-22 31 views
0

스트레스 테스트를 여러 번 반복 실행하는 테스트 계획을 만들려고합니다. 구현하려고하는 아이디어는 서버에 1 분의 HTTP 요청을 실행하고 일정한 처리량을 유지하는 것입니다. 그런 다음 원하는 처리량을 늘리고 1 분 동안 다시 테스트를 실행하십시오. 실제 처리량이 원하는 것보다 훨씬 적을 때까지 각 반복마다 초당 100 회의 요청 처리량을 늘리고 싶습니다.Jmeter는 테스트 재시작시 반복적으로 반복 실행합니다.

1 분 동안 일정한 처리량을 실행하는 테스트 계획을 성공적으로 만들었습니다. X 스레드가있는 스레드 그룹이 있고 스케줄러의 지속 시간을 60 초로 설정했습니다. 그 스레드 그룹에는 원하는 값으로 설정 한 HTTP 요청 샘플러와 상수 처리 타이머가 있습니다.

그러나 루프에서 실행하고 각 반복마다 상수 처리량 타이머에서 원하는 값을 늘리고 싶습니다.

또한 집계 리포트에서 볼 수있는 실제 처리량이 반복 처리를 위해 상수 처리량 타이머에서 설정 한 처리량보다 훨씬 적을 때 루프를 멈추고 싶습니다 (또는 연속 반복 건너 뛰기).

기본적으로 내 서버가 계속 유지할 수없는 시점에 도달하면 기본적으로 더 많은 것을 강조하고 싶지 않습니다.

어떻게 위에서 설명한 기능을 얻을 수 있습니까?

감사

답변

0
  • 각 반복

    • user.properties file or via -J command-line argumentthroughput 속성의 초기 값을 정의 __P() function${__P(throughput)} 같이하여 일정한 처리량 타이머의 속성으로 정의 (100)에 의해 처리량을 증가시키기 (너는 Beanshell server feature을 사용하여 JMeter 외부에서도 할 수있다)
    • 스레드 그룹 끝에 Test Action 샘플러를 추가하십시오 (샘플 결과가 생성되지 않으므로 로그에 나타나지 않습니다.)
    • JSR223 PreProcessor을 테스트 작업 샘플러의 하위로 추가하고 다음 코드를 "스크립트"영역 :

      def throughput = Integer.parseInt(props.get('throughput')) 
      throughput += 6000 
      props.put('throughput', String.valueOf(throughput)) 
      

    반복 할 때마다 처리량은 분당 6000 개 요청 (초당 100 개 요청)

  • 증가 될 것이다이 방법 당신은 주문 t에 AutoStop Listener을 사용할 수 있습니다 o 다양한 기준에 기반하여 서버를 압도하지 마십시오.

+0

답장을 보내 주셔서 감사합니다. AutoStop Listener는 평균 응답 시간, 평균 대기 시간 및 오류 비율에만 액세스 할 수 있습니다. 그러나 Aggregate Listener에 표시된 실제 처리량이 원하는 것보다 훨씬 적을 때 중단하고 싶습니다. –

+0

또한 예제를 공유 하시겠습니까? 내가 언급 한 모든 것을 따라 왔으며 기대 한 결과를 얻지 못했습니다. –