Controller in JMeter: Schleife, Einfach, Transaktion, Modul, Zufällig

Was ist der Logic Controller?

Mit Logic Controllern können Sie die Reihenfolge der Verarbeitungsanfragen in einem Thread definieren. Damit können Sie steuern, „wann“ eine Benutzeranfrage an einen Webserver gesendet werden soll. Sie können beispielsweise Random Controller verwenden, um HTTP-Anfragen nach dem Zufallsprinzip an den Server zu senden

Logic Controller bestimmen die Reihenfolge in dem die Benutzeranfrage ausgeführt wird.

Nachfolgend finden Sie einige häufig verwendete Logic-Controller:

Der Logic Controller

Aufnahmecontroller

JMeter können. Rekord deine Testen Schritte; Ein Aufnahmecontroller ist ein Platzhalter um diese Aufnahmeschritte zu speichern.

Aufnahmecontroller

Einfacher Controller

Simple Controller ist nur ein Container für Benutzeranfrage.

Einfacher Controller

Loop-Controller

Der Loop Controller führt die Benutzeranforderung aus eine bestimmte Anzahl von Malen oder laufe für immer wie in der Abbildung gezeigt:

Loop-Controller

Zufälliger Controller

Random Controller sorgt dafür, dass alle Benutzeranfragen ausgeführt werden der Zufall Reihenfolge in jeder Schleifenperiode.

Sie haben beispielsweise drei Benutzeranfragen an die Website http://www.google.com in folgender Reihenfolge:

  1. HTTP-Anfrage
  2. FTP-Anfrage
  3. JDBC-Anfrage

Diese 3 Anfragen sollten 5 Mal ausgeführt werden. Insgesamt werden 15 Nutzeranfragen an den Google-Server gesendet JMeter.

In sequenziell Bestellung, Anfragen werden gesendet der Reihe nach in folgender Reihenfolge:

HTTP-Anfrage -> FTP-Anfrage -> JDBC-Anfrage

für jede Schleife.

Zufälliger Controller

In zufällig Bestellung, Anfragen werden gesendet als nach dem Zufallsprinzip,

FTP-Anfrage ->HTTP-Anfrage ->JDBC-Anfrage

Or

JDBC-Anfrage ->FTP-Anfrage ->HTTP-Anfrage

Für jede Schleife.

Modulsteuerung

Das Ziel des Module Controllers besteht darin, die Modularität zu erhöhen JMeter.

Die allgemeine Idee ist, dass Webanwendungen aus kleinen Funktionseinheiten bestehen (z. B. Anmelden, Konto erstellen, Abmelden usw.). Diese Funktionalität kann in gespeichert werden Einfacher Controller als „Module“. Der Modulcontroller wählt aus, welches Modul ausgeführt werden muss.

Modulsteuerung

Betrachten Sie das folgende Szenario –

Sie möchten Folgendes simulieren:

  • 50 benutzer Abmeldung,
  • 100 benutzer Einloggen
  • 30 benutzer search www.google.com

Sie können verwenden JMeter um 3 Module zu erstellen. Jedes Modul simuliert jede Benutzeraktivität: Anmeldung, Abmeldung und Suche.

Modulsteuerung

Der Modulcontroller wählt aus, welches Modul ausgeführt werden muss.

Modulsteuerung

Andere wichtige Controller

  • Interleave Controller: hebt ab und macht dank One der eingegangenen Benutzeranfrage jeder Schleife des Fadens.
  • Laufzeit Controller: steuert Wie lang seine Kinder dürfen laufen.

Wenn Sie beispielsweise Runtime Controller 10 Sekunden angegeben haben, JMeter führt Ihren Test 10 Sekunden lang durch.

Andere wichtige Controller

  • Transaktion Controller: misst die Gesamtzeit genommen zu Fertig eine Testdurchführung
  • Umfassen Controller: ist für die Verwendung eines externen Testplans konzipiert. Mit diesem Controller können Sie mehrere Testpläne verwenden JMeter. Einzelheiten finden Sie in JMeter Performance Testing.

Beispiel für einen Schleifencontroller

In diesem Abschnitt finden Sie eine Schritt-für-Schritt-Anleitung zum Hinzufügen Loop-Controller Stellen Sie es auf Ihren aktuellen Leistungstestplan ein.

Der Loop-Controller sorgt dafür, dass die Sampler zusätzlich zu dem Loop-Wert, den Sie für die Thread-Gruppe angegeben haben, eine bestimmte Anzahl von Malen ausführen. Zum Beispiel, wenn Sie

  • Fügen Sie eine HTTP-Anfrage zu einem Loop-Controller mit einer Schleifenanzahl von 50 hinzu
  • Konfigurieren Sie die Anzahl der Thread-Gruppenschleifen auf 2
  • Dann, JMeter sendet insgesamt 50 * 2 = 100 HTTP-Anfragen.

Dies ist die Fahrplan dieses Beispiels:

Beispiel für einen Schleifencontroller

Schritt 1) ​​Thread-Gruppe konfigurieren

We Wiederverwendung Schritt 1, 2 im Tutorial JMeter Performance Testing.

  1. Thread-Gruppe hinzufügen

Rechtsklick auf die Versuchsplan und eine neue Thread-Gruppe hinzufügen: Speichern-> Threads (Benutzer) ->Thread-Gruppe

Geben Sie jedoch im Thread-Gruppen-Kontrollfeld die Thread-Eigenschaften wie folgt ein:

Thread-Gruppe hinzufügen

Es wird machen dank One Benutzeranfrage an den Webserver google.com senden und ausführen 2 Zeiten.

  1. Speichern JMeter Elemente

Fügen Sie den Standard für HTTP-Anfragen zu www.google.com hinzu.

  1. Hinzufügen eines Loop-Controllers

Klicken Sie mit der rechten Maustaste auf Thread-Gruppe -> Logic Controller -> Loop Controller

Hinzufügen eines Loop-Controllers

Schritt 2) Konfigurieren des Loop-Controllers

Fügen Sie den Wert 50 zum Feld „Loop Count“ hinzu, wie in der folgenden Abbildung dargestellt. Es wird machen dank One Benutzeranfrage an den Webserver google.com starte es 50 Mal, zusätzlich zu dem Schleifenwert =2, den Sie oben für die Thread-Gruppe angegeben haben.So JMeter wird insgesamt senden 2 * 50 = 100 HTTP-Anfragen.

Konfigurieren des Loop-Controllers

Klicken Sie mit der rechten Maustaste auf Loop Controller, Hinzufügen -> Sampler -> HTTP-Anfrage

Konfigurieren des Loop-Controllers

Schritt 3) Ansichtsergebnisse in Tabelle hinzufügen

Wir verwenden Schritt 2 erneut Timer , um „Ergebnisse in Tabelle anzeigen“ hinzuzufügen

Der Testplan ist in der folgenden Abbildung dargestellt

Ergebnisse in Tabelle anzeigen hinzufügen

Schritt 4) Führen Sie Ihren Test durch

Kehren Sie nun zu „Ergebnisse in Tabelle anzeigen“ zurück und klicken Sie in der Menüleiste auf die Schaltfläche „Start“ (Strg+R), um einen Test auszuführen

Wie in der Abbildung unten gezeigt, JMeter Simuliert eine Benutzeranfrage, die 100 Mal an den Webserver gesendet wird http://www.google.com/. Der Test wird gestoppt, nachdem eine Benutzeranfrage 100 Mal gesendet wurde.

Führen Sie den Test durch

Problemlösung

  1. Wenn das Problem beim Ausführen des obigen Szenarios auftritt, gehen Sie wie folgt vor
  2. Überprüfen Sie, ob Sie über einen Proxy eine Verbindung zum Internet herstellen. Wenn ja, entfernen Sie den Proxy.
  3. Öffnen Sie eine neue Instanz von Jmeter
  4. Öffnen Sie den Microsoft Store auf Ihrem Windows-PC. ControllerTestPlan.jmx in Jmeter
  5. Klicken Sie auf Thread-Gruppe -> Ergebnis in Tabelle anzeigen
  6. Führen Sie den Test durch