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: