2017-01-07 7 views
0

Ich teste Web-App. Grundsätzlich habe ich 1 Thread-Gruppe (nennen wir sie Affiliates), die im Durchschnitt 2,5 Anfragen pro Sekunde durchführen müssen (jede Anfrage ist eine Anfrage für eine imaginäre Werbung). Die zweite Thread-Gruppe (Endbenutzer) muss auf 10% dieser von den Affiliates angeforderten Anzeigen "klicken".JMeter 1 Thread-Gruppe führt 10% der anderen Thread-Gruppe

Ich habe folgende Einstellung:

Test setup

Jede Fadengruppe hat eine Hochlaufzeit von 1 (s). Der konstante Timer für die erste Thread-Gruppe (Affiliates) beträgt 400 ms (1 Sekunde/2,5 Klicks = 1 Klick pro 0,4 Sekunden = 1 Klick pro 400 ms). Wenn ich richtig verstanden habe, sollte dies sicherstellen, dass jeder Affiliate alle 400ms einmal klicken sollte.

Die zweite Thread-Gruppe hat einen konstanten Timer von 4000ms (da der Timer eine Verzögerung ist, dann sollten 4000ms make in 10% Anfragen der ersten Thread-Gruppe resultieren).

Beim Testen mit einem Benutzer, die Ergebnisse sind in Ordnung, wie ich die Benutzer jedoch erhöhen (zum Beispiel bei 150 Benutzern pro Thread-Gruppe (300 Benutzer insgesamt)) sind die Ergebnisse nicht mehr AdClick 10% der AdRequests.

Lauf meinem Test für 1 Minute bekomme ich die folgende: adsRequest = 4695 Proben AdsClicked = 1.568 Proben

AdsClicked sollte etwa 470 Proben

Also meine Frage ist: Wie kann ich meine einrichten Testen Sie, dass Sie immer 10% der AdRequests für AdClicked haben, unabhängig davon, wie viele Benutzer das System gerade verwenden.

Antwort

0
  1. Ihr Setup ist nicht sehr korrekt in Bezug auf die Position der Konstanten Timer. Nach Timers Documentation:

    Beachten Sie, dass Timer vor jeder Sampler im Rahmen verarbeitet werden, in denen sie gefunden werden; Wenn mehrere Timer im selben Bereich vorhanden sind, werden alle Timer vor jedem Sampler verarbeitet.

    Timer werden nur in Verbindung mit einem Sampler verarbeitet. Ein Timer, der nicht im selben Umfang wie ein Sampler ist, wird überhaupt nicht verarbeitet. Um einen Timer auf einen einzelnen Sampler anzuwenden, fügen Sie den Timer als untergeordnetes Element des Samplers hinzu.. Der Timer wird angewendet, bevor der Sampler ausgeführt wird. Um einen Timer nach einem Sampler anzuwenden, fügen Sie ihn entweder zum nächsten Sampler hinzu oder fügen Sie ihn als Child eines Test Action Samplers hinzu.

  2. Wenn Sie benötigen, um den Durchsatz (Anfragen pro Sekunde) zu manipulieren, um sie besser ist Constant Throughput Timer oder Throughput Shaping Timer

  3. zu prüfen, wie Sie garantiert genau 10% Spiel nicht über die Timer für diese Anforderung verwenden:

    unabhängig davon, wie viele Benutzer das System derzeit mit

    Sie Sie können beide Sampler unter eine einzelne Thread-Gruppe verschieben und oder Switch Controller verwenden, damit Ihre Anforderung AdsClicked genau 10% von AdRequests entspricht. Weitere Details zu diesem Ansatz finden Sie im Artikel Running JMeter Samplers with Defined Percentage Probability.

Verwandte Themen