2017-01-07 1 views
0

웹 응용 프로그램을 테스트하고 있습니다. 기본적으로 나는 평균적으로 초 당 2.5 요청 (각 요청은 상상의 광 고라에 대한 요청)을 수행해야하는 1 개의 스레드 그룹 (계열사 호출 가능)이 있습니다. 두 번째 스레드 그룹 (최종 사용자)은 제휴사가 요청한 이러한 광고 중 10 %를 "클릭"해야합니다.JMeter 1 스레드 그룹이 다른 스레드 그룹의 10 %를 수행합니다.

Test setup

각 스레드 그룹 1 (들)의 시간 램프를 가지고 :

나는 다음과 같은 설정이있다. 첫 번째 스레드 그룹 (계열사)의 상수 타이머는 400ms입니다 (1 초/2.5clicks = 0.4 초당 1 회 클릭 = 400ms 당 1 회 클릭). 내가 올바르게 이해했다면 각 제휴사가 400ms마다 한 번씩 클릭해야합니다.

두 번째 스레드 그룹에는 4000ms의 상수 타이머가 있습니다 (타이머는 지연이므로 4000ms는 첫 번째 스레드 그룹의 10 % 요청을 야기합니다).

한 사용자와 테스트 할 때 결과가 좋지만 (예를 들어 스레드 그룹당 150 명의 사용자 (총 300 명의 사용자)) 결과가 더 이상 AdRequests의 AdClick 10 %가 아닙니다.

1 분 동안 내 테스트를 실행 내가 얻을 다음 은 AdsRequest = 4695 개 샘플 AdsClicked = 1568 개 샘플

AdsClicked이

그래서 내 질문은 약 470 샘플

해야한다 : 내가 설정하는 방법 내 얼마나 많은 사용자가 현재 시스템을 사용하고 있는지에 관계없이 Adclicked에 대한 AdRequests 샘플을 지속적으로 10 % 가지도록 테스트합니다.

답변

0
  1. 설정이 고정 타이머 위치와 관련하여 올바르지 않습니다. Timers Documentation에 따르면, 타이머가 발견 된 범위에있는 각 샘플러 전에 을 처리

    참고; 같은 범위에 여러 개의 타이머가있는 경우 샘플러 전에 모든 타이머가 으로 처리됩니다.

    타이머는 샘플러와 함께 처리됩니다. 샘플러와 같은 범위에 있지 않은 타이머는 전혀 처리되지 않습니다. 단일 샘플러에 타이머를 적용하려면 타이머를 샘플러의 하위 요소로 추가하십시오. 타이머는 샘플러가 실행되기 전에 적용됩니다. 샘플러 다음에 타이머를 적용하려면 다음 샘플러에 추가하거나 테스트 동작 샘플러의 하위로 추가하십시오.

  2. 당신이이 요구 사항에 대한 타이머를 사용하여 정확한 10 % 일치의 보장을 가지고 있지 않기 때문에이 Constant Throughput Timer 또는 Throughput Shaping Timer

  3. 을 고려하는 것이 좋습니다 처리량 (초당 요청)을 조작해야하는 경우 : 얼마나 많은 사용자가 현재 시스템을 사용하는의

    선명하게 촬상

    당신에게 두 개의 샘플러를 단일 쓰레드 그룹으로 옮기고 또는 Switch Controller을 사용하여 AdsClicked 요청이 정확하게 AdRequests의 10 %가되도록 요청할 수 있습니다. 접근법에 대한 자세한 내용은 Running JMeter Samplers with Defined Percentage Probability 문서를 참조하십시오.

관련 문제