Jmeter-Timer: Konstante, Gaußsche Zufälligkeit, Uniform (Beispiel)

Inhaltsverzeichnis:

Anonim

Was sind Timer?

Standardmäßig sendet JMeter die Anforderung, ohne zwischen den einzelnen Anforderungen eine Pause einzulegen. In diesem Fall könnte JMeter Ihren Testserver überfordern, indem in kurzer Zeit zu viele Anfragen gestellt werden.

Stellen Sie sich vor, Sie senden in wenigen Sekunden Tausende Anfragen an einen zu testenden Webserver. Das ist, was passiert!

Mit Timern kann JMeter zwischen den Anforderungen eines Threads verzögern . Ein Timer kann den Server lösen Überlastung Problem.

Auch im wirklichen Leben Besucher kommen nicht auf einer Website alle zur gleichen Zeit, aber in unterschiedlichen Zeitintervallen. Der Timer hilft also dabei, das Echtzeitverhalten nachzuahmen.

In diesem Tutorial lernen Sie

  • Konstanter Timer
  • Gaußscher Zufalls-Timer
  • Uniform Random Timer
  • BeanShell Timer
  • BSF-Timer
  • JSR223 Timer
  • Verwendung des konstanten Timers

Im Folgenden finden Sie einige gängige Timertypen in JMeter

Konstanter Timer:

Ein konstanter Timer verzögert jede Benutzeranforderung um dieselbe Zeitdauer.

Gaußscher Zufalls-Timer:

Der Gaußsche Zufallszeitgeber verzögert jede Benutzeranforderung um eine zufällige Zeitdauer.

Parameter:

Attribut Beschreibung
Name Beschreibender Name für diesen Timer, der im Baum angezeigt wird
Abweichungen (Millisekunden) Ein Parameter der Gaußschen Verteilungsfunktion
Konstanter Verzögerungsversatz (Millisekunden) Zusätzlicher Wert in Millisekunden

Die Gesamtverzögerung wird also wie folgt beschrieben:

Uniform Random Timer:

Ein einheitlicher Zufallszeitgeber verzögert jede Benutzeranforderung um eine zufällige Zeitdauer.

Parameter:

Attribut

Beschreibung

Name

Beschreibender Name für diesen Timer, der im Baum angezeigt wird

Zufälliges Verzögerungsmaximum

Maximale Zufallszahl von Millisekunden, die verzögert werden sollen.

Konstanter Verzögerungsversatz (Millisekunden)

Zusätzlicher Wert in Millisekunden

Die Gesamtverzögerung ist die Summe aus dem Zufallswert und dem Versatzwert.

BeanShell Timer

Der BeanShell-Timer kann verwendet werden, um eine Verzögerungszeit zwischen jeder Benutzeranforderung zu generieren .

BSF-Timer

Der BSF-Timer kann verwendet werden, um eine Verzögerung zwischen jeder Benutzeranforderung unter Verwendung einer BSF-Skriptsprache zu erzeugen.

JSR223 Timer

Der JSR223-Timer kann verwendet werden, um mithilfe einer JSR223-Skriptsprache eine Verzögerung zwischen den einzelnen Benutzeranforderungen zu generieren

Verwendung des konstanten Timers

In diesem Beispiel verwenden Sie den konstanten Timer , um eine feste Verzögerung zwischen Benutzeranforderungen an google.com festzulegen .

Beginnen wir mit einem einfachen Testskript

  1. JMeter erstellt 100 Mal eine Benutzeranfrage an http://www.google.com
  2. Die Verzögerung zwischen jeder Benutzeranforderung beträgt 5000 ms

Hier ist die Roadmap für dieses praktische Beispiel:

Voraussetzung:

Wir verwenden die Schritte 1 und 2 im Tutorial JMeter Performance Testing erneut.

Schritt 1) ​​Thread-Gruppe hinzufügen

Klicken Sie mit der rechten Maustaste auf den Testplan und fügen Sie eine neue Thread-Gruppe hinzu: Hinzufügen -> Threads (Benutzer) -> Thread-Gruppe

Geben Sie in der Systemsteuerung "Thread-Gruppe" die folgenden Thread-Eigenschaften ein

Mit dieser Einstellung kann JMeter erstellen eine zu http://www.google.com in Benutzeranforderung 100 mal

Schritt 2) Fügen Sie JMeter-Elemente hinzu

  • Standardmäßig HTTP-Anforderung hinzufügen
  • HTTP-Anfrage hinzufügen

Schritt 3) Fügen Sie einen konstanten Timer hinzu

Klicken Sie mit der rechten Maustaste auf Thread-Gruppe -> Timer -> Konstanter Timer

Konfigurieren der Thread-Verzögerung von 5000 Millisekunden

Schritt 4) Fügen Sie die Ansichtsergebnisse zur Tabelle hinzu

Ergebnisse in Tabelle anzeigen zeigt das Testergebnis im Tabellenformat an.

Klicken Sie mit der rechten Maustaste auf Hinzufügen -> Listener -> Ergebnis in Tabelle anzeigen

Ergebnisse in Tabelle anzeigen wird wie in der folgenden Abbildung angezeigt

Schritt 5) Führen Sie Ihren Test aus

Wenn Sie bereit sind, einen Test auszuführen, klicken Sie in der Menüleiste auf die Schaltfläche Ausführen oder auf die Kurztaste Strg + R.

Dies ist das Ergebnis dieses Tests

Lassen Sie uns in der obigen Abbildung beispielsweise die Probe 2 analysieren

  • Startzeit ist 22: 05: 01.866
  • Die Abtastzeit von Probe 2 beträgt 172 ms
  • Konstanter Timer : 5000 ms (wie konfiguriert)
  • Die Endzeit dieses Beispiels beträgt = 22: 05: 01.866 + 172 + 5000 = 22: 05: 07.038

Das Beispiel 3 sollte also zum Zeitpunkt 22: 05: 07.039 beginnen (wie in der obigen Abbildung gezeigt).

Die Verzögerung jeder Probe beträgt 5000 ms

Wenn Sie ändern, dass der konstante Timer Null ist , wird das Ergebnis geändert

Lassen Sie die Probe 1 analysieren

  • Startzeit ist 22: 17: 39.141
  • Die Abtastzeit von Probe 2 beträgt 370 ms
  • Konstanter Timer : 0 ms (wie konfiguriert)
  • Die Endzeit dieser Stichprobe beträgt = 22: 17: 39.141+ 370 + 0 = 22: 17: 39.511

Das Beispiel 2 sollte also zum Zeitpunkt 22: 17: 39.512 beginnen (siehe Abbildung oben).

Fehlerbehebung:

Wenn Sie beim Ausführen des obigen Szenarios auf das Problem stoßen, gehen Sie wie folgt vor

  1. Überprüfen Sie, ob Sie über einen Proxy eine Verbindung zum Internet herstellen. Wenn ja, entfernen Sie den Proxy.
  2. Öffnen Sie eine neue Instanz von JMeter
  3. Öffnen Sie die Datei TimerTestPlan.jmx in Jmeter
  4. Doppelklicken Sie auf Thread-Gruppe -> Ergebnis in Tabelle anzeigen
  5. Führen Sie den Test aus