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:
Aufnahmecontroller
JMeter können. Rekord deine Testen Schritte; Ein Aufnahmecontroller ist ein Platzhalter um diese Aufnahmeschritte zu speichern.
Einfacher Controller
Simple Controller ist nur ein Container für Benutzeranfrage.
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:
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:
- HTTP-Anfrage
- FTP-Anfrage
- 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.
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.
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.
Der Modulcontroller wählt aus, welches Modul ausgeführt werden muss.
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.
- 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:
Schritt 1) Thread-Gruppe konfigurieren
We Wiederverwendung Schritt 1, 2 im Tutorial JMeter Performance Testing.
-
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:
Es wird machen dank One Benutzeranfrage an den Webserver google.com senden und ausführen 2 Zeiten.
-
Speichern JMeter Elemente
Fügen Sie den Standard für HTTP-Anfragen zu www.google.com hinzu.
-
Hinzufügen eines Loop-Controllers
Klicken Sie mit der rechten Maustaste auf Thread-Gruppe -> Logic Controller -> Loop Controller
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.
Klicken Sie mit der rechten Maustaste auf Loop Controller, Hinzufügen -> Sampler -> HTTP-Anfrage
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
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.
Problemlösung
- Wenn das Problem beim Ausführen des obigen Szenarios auftritt, gehen Sie wie folgt vor
- Überprüfen Sie, ob Sie über einen Proxy eine Verbindung zum Internet herstellen. Wenn ja, entfernen Sie den Proxy.
- Öffnen Sie eine neue Instanz von Jmeter
- Öffnen Sie den Microsoft Store auf Ihrem Windows-PC. ControllerTestPlan.jmx in Jmeter
- Klicken Sie auf Thread-Gruppe -> Ergebnis in Tabelle anzeigen
- Führen Sie den Test durch