Controller in JMeterSchleife, Logik, Transaktion

⚡ Intelligente Zusammenfassung

Logiksteuerungen in JMeter Die Reihenfolge, in der Benutzeranfragen innerhalb eines Threads ausgeführt werden, wird durch Controller wie Loop, Random, Simple, Module und Recording bestimmt.ping wie ein Leistungstestplan Anfragen an den Server sendet.

  • ️ Logiksteuerungen: Controller legen die Reihenfolge fest, in der Anfragen in einem Thread ausgeführt werden.
  • 🔁 Schleifensteuerung: Führt einen Sampler eine festgelegte Anzahl Male innerhalb der Thread-Schleife aus.
  • 🎲 Zufallscontroller: Führt die Kindanfragen in jeder Schleife in zufälliger Reihenfolge aus.
  • 🧩 Modulsteuerung: Fügt Modularität hinzu, indem ausgewählt wird, welches Modul ausgeführt wird.
  • ⏺️ Aufnahmesteuerung: Die Testschritte wurden von den Geschäften als Platzhalter aufgezeichnet.
  • 🤖 KI-Unterstützung: KI hilft bei der Entwicklung und Analyse JMeter Leistungstestpläne.

Controller in JMeter

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 Wir koordinieren den Versand Tests 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 Benutzeranfragen gesendet an Google Server von 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 Grundidee ist, dass Webanwendungen aus kleinen Funktionseinheiten bestehen (z. B. Anmelden, Konto erstellen, Abmelden usw.). Diese Funktionalitäten können im Simple Controller als „Module“ gespeichert werden. Der Module Controller wählt dann das auszuführende Modul aus.

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

Häufig gestellte Fragen

Ein Sampler sendet eine konkrete Anfrage an den Server, beispielsweise eine HTTP- oder JDBC-Anfrage. Ein Logik-Controller sendet selbst keine Anfragen; er steuert die Reihenfolge und die Bedingungen, unter denen seine untergeordneten Sampler innerhalb eines Threads ausgeführt werden.

Der Transaktionscontroller misst die Gesamtzeit, die für die Ausführung einer Gruppe von Stichproben als eine einzige Transaktion benötigt wird. Er eignet sich zur Zeitmessung eines mehrstufigen Geschäftsprozesses, wie z. B. Anmeldung und anschließende Suche, anstatt jeder Anfrage einzeln.

Sie multiplizieren sich. Wenn ein Loop-Controller auf 50 eingestellt ist und die Schleifenanzahl der Thread-Gruppe 2 beträgt, wird jeder Sampler innerhalb des Controllers 50 Mal pro Iteration ausgeführt, was insgesamt 50 mal 2 ergibt, also 100 Anfragen.

Ja. KI kann realistische Arbeitslastmodelle vorschlagen, Testdaten generieren und Ergebnisdiagramme analysieren, um Engpässe aufzudecken. Maschinelles Lernen erkennt Leistungsanomalien und prognostiziert Kapazität und …ping Ingenieure entwerfen und interpretieren JMeter Tests schneller.

KI-Modelle erstellen erwartete Lastmuster, optimieren Testparameter automatisch und analysieren Metriken, um Regressionen und deren Ursachen zu erkennen. Diese intelligenten Funktionen machen Leistungstests aussagekräftiger und wandeln Rohdaten in präzisere Ergebnisse um. JMeter führt zu umsetzbaren Erkenntnissen über die Kapazität.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: