Java >> Java Tutorial >  >> Java

So verwenden Sie JMeter für Lasttests

Jede Unternehmensanwendung muss unter Last gut funktionieren. So kann die Leistung einer solchen Anwendung verfolgt werden. Es gibt Tools, die helfen, diese Leistung zu verfolgen. Apache JMeter ist ein solches Tool. In diesem Beitrag werden wir Apache JMeter verwenden, um einen Belastungstest für eine Beispielanwendung durchzuführen und zu sehen, wie wir die Leistung messen können.

Je nach Ihrer Anwendung können Sie unterschiedliche Funktionen für Belastungstests nachverfolgen. Datenbanklastige Operationen wären von dieser Nachverfolgung am stärksten betroffen. Hier können uns Belastungstests helfen, Fehler in unserem Design und Code aufzuzeigen und Möglichkeiten zur Verbesserung aufzuzeigen. Ein wesentlicher Unterschied besteht darin, dass Lasttests sich von Stresstests unterscheiden. In Stresstests versuchen wir zu messen, wie viel Last die Anwendung verträgt, bevor sie kaputt geht. In Belastungstests messen wir die Leistung aus zeitlicher Perspektive.

Was Sie brauchen

  • Apache-JMeter
  • Eine laufende Webanwendung
  • Browser Ihrer Wahl

Testprozess laden

Starten Sie Apache JMeter und zeichnen Sie das Testskript auf. Lassen Sie uns einen Testplan erstellen, den wir für unseren Lasttest ausführen werden. Als Teil dieses Beitrags werde ich Lasttests für die Anmeldung bei einer Spring Boot-basierten Webanwendung durchführen, die ich unter https://localhost:8443/home ausführe

Erstellen Sie einen Testplan

Sobald Sie JMeter starten, sehen Sie im Fenster auf der linken Seite eine Option für den Testplan. Erstellen Sie einen Testplan und nennen Sie ihn Test1 wie unten gezeigt:

Testplan für JMeter-Skript

Sobald Sie den Testplan erstellt haben, wählen Sie aus, wie viele Threads (Anzahl der Benutzer) Sie für diesen Test ausführen möchten, wie lang die Anlaufphase für einen Thread ist und wie hoch die Schleifenanzahl ist. Für diesen Beitrag habe ich 50 Threads ausgewählt, wobei jeder Thread in 2 Sekunden mit einer einzigen Schleife hochgefahren wird.

Konfigurationselemente hinzufügen

Klicken Sie mit der rechten Maustaste auf den Testplan und fügen Sie Konfigurationselemente für HTTP Cache Manager hinzu und HTTP Cookie Manager . Dies ist für die Verarbeitung von CSRF-Tokens in unserer Anfrage erforderlich, die wir später benötigen werden.

Hinzufügen eines Samplers

Um unsere Webanwendung jetzt zu testen, fügen wir einen Sampler mit HTTP Request hinzu . Wir nennen dies HomePage. Dies wird wie folgt angezeigt:

Http Request Sampler

Wir müssen das Protokoll, den Servernamen, die Portnummer und den Pfad wie oben gezeigt angeben.

Zuhörer hinzufügen

Nun fügen wir unserem Sampler einen Listener hinzu, um die Ergebnisse als Baum anzuzeigen.

Postprozessor hinzufügen

Wir brauchen _csrf Token von unserer Homepage, damit wir dieses Token in einer POST-Anforderung an die Anmeldeseite der Webanwendung weitergeben können.

Dieser Postprozessor hat einen Extraktor für reguläre Ausdrücke, der _csrf extrahiert Token von der Homepage und wird an den nächsten HTTP Request übergeben Sampler für die Anmeldeseite.

Extraktor für reguläre Ausdrücke

Fügen Sie einen weiteren Sampler für die Anmeldeseite hinzu

Jetzt fügen wir Sampler hinzu für die Anmeldeseite, die eine POST-Anfrage an login sein wird Endpunkt unserer Webanwendung. Wir werden auch username übergeben und password zusammen mit _csrf Token, dessen Wert vom Extraktor ausgefüllt wird.

Anmeldeseite

Führen Sie das Testskript für den Belastungstest aus

Wenn wir jetzt unser Skript in JMeter ausführen, werden 50 Threads gleichzeitig ausgeführt, um die Anmeldung für die Anwendung zu testen. Abhängig von der Leistung kann es lange dauern, aber da es sich um eine einfache Anwendung handelt, führt JMeter diesen Test innerhalb weniger Sekunden durch.

Überprüfen Sie die Ergebnisse

Sobald der Test abgeschlossen ist, können Sie den View Results Tree überprüfen und es zeigt Ihnen die Ergebnisse unserer einzelnen Testthreads. In Response Data Registerkarte können Sie sehen, ob unser Test erfolgreich war oder nicht. Es sollte das Ergebnis unserer Seite im HTML-Format anzeigen.

Ergebnisse

Schlussfolgerung

In diesem Beitrag haben wir Apache JMeter für Lasttests verwendet und erfahren, wie es uns helfen kann, unsere Anwendung aus Performance-Perspektive zu entwerfen.

Referenzen

  1. JMeter mit Blazemeter
  2. Lasttests mit JMeter

Java-Tag