Verwendung von JMeter für die Leistung & Lasttest

Inhaltsverzeichnis:

Anonim

JMeter-Lasttest

JMeter Load Testing ist ein Testprozess, der mit einem Lasttest-Tool namens Apache JMeter durchgeführt wird, einer Open Source-Desktopanwendung auf Java-Basis. JMeter für Lasttests ist ein entscheidendes Tool, das bestimmt, ob die zu testende Webanwendung hohe Lastanforderungen erfüllen kann oder nicht. Es hilft auch, den Gesamtserver unter hoher Last zu analysieren.

JMeter-Leistungstests

JMeter-Leistungstest ist eine Testmethode, die mit Apache JMeter durchgeführt wird, um die Leistung einer Webanwendung zu testen. JMeter für Leistungstests hilft beim Testen sowohl statischer als auch dynamischer Ressourcen, hilft beim Erkennen gleichzeitiger Benutzer auf der Website und bietet verschiedene grafische Analysen für Leistungstests. Der JMeter-Leistungstest umfasst den Belastungstest und den Stresstest der Webanwendung.

Das Apache JMeter-Testtool bietet folgende Vorteile beim Leistungstest

  • Mit JMeter können Sie die Leistung sowohl statischer Ressourcen wie JavaScript und HTML als auch dynamischer Ressourcen wie JSP, Servlets und AJAX testen.
  • JMeter kann die maximale Anzahl gleichzeitiger Benutzer ermitteln, die Ihre Website verarbeiten kann
  • JMeter bietet eine Vielzahl grafischer Analysen von Leistungsberichten.

JMeter Performance Testing umfasst:

  • Lasttest : Modellierung der erwarteten Nutzung durch gleichzeitige Simulation des Zugriffs mehrerer Benutzer auf die Webdienste.
  • Stresstests : Jeder Webserver hat eine maximale Ladekapazität. Wenn die Last das Limit überschreitet, reagiert der Webserver langsam und erzeugt Fehler. Der Zweck des Stresstests besteht darin, die maximale Last zu ermitteln, die der Webserver bewältigen kann.

Die folgende Abbildung zeigt, wie JMeter-Lasttests die schwere Last simulieren:

Erstellen Sie einen Leistungstestplan in JMeter

In diesem Tutorial führen wir eine Leistungsanalyse von Google.com für 1000 Nutzer durch

Bevor wir die Leistung der Zielwebanwendung testen, sollten wir Folgendes ermitteln:

  • Normale Auslastung : Durchschnittliche Anzahl der Benutzer, die Ihre Website besuchen
  • Schwere Last : Die maximale Anzahl von Benutzern, die Ihre Website besuchen
  • Was ist Ihr Ziel in diesem Test?

Hier ist die Roadmap dieses praktischen Beispiels

Schritt 1) ​​Thread-Gruppe hinzufügen

  1. Starten Sie JMeter
  2. Wählen Sie Testplan auf dem Baum
  3. Hinzufügen Thread - Gruppe

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 für Thread-Gruppen die Thread-Eigenschaften wie folgt ein:

  • Anzahl der Threads : 100 (Anzahl der Benutzer, die eine Verbindung zur Zielwebsite herstellen: 100)
  • Schleifenanzahl : 10 (Anzahl der Testdurchläufe)
  • Hochlaufzeit : 100

Die Anzahl der Threads und die Anzahl der Schleifen sind unterschiedlich.

Ramp-Up Period sagt JMeter , wie lange zu verzögern , bevor der nächste Benutzer starten. Wenn wir beispielsweise 100 Benutzer und eine Hochlaufzeit von 100 Sekunden haben, beträgt die Verzögerung zwischen den Startbenutzern 1 Sekunde (100 Sekunden / 100 Benutzer).

Schritt 2) Hinzufügen von JMeter-Elementen

Nun bestimmen wir, welche JMeter-Elemente in diesem Test enthalten sind. Die Elemente sind

  • HTTP-Anfrage Standard

Dieses Element kann mit einem Rechtsklick auf der Thread - Gruppe und die Auswahl hinzugefügt: Add -> Config Element -> HTTP - Request - Defaults.

Geben Sie im Kontrollfeld HTTP-Anforderungsstandards den zu testenden Website-Namen ein (http://www.google.com).

  • HTTP-Anfrage

Klicken Sie mit der rechten Maustaste auf Thread-Gruppe und wählen Sie: Hinzufügen -> Sampler -> HTTP-Anforderung .

In der HTTP-Anforderungssteuerung gibt das Feld Pfad an, welche URL-Anforderung Sie an den Google-Server senden möchten.

Zum Beispiel, wenn Sie "Kalender" in das Feld Pfad eingeben. JMeter erstellt die URL-Anfrage http://www.google.com/calendar an den Google-Server

Wenn Sie das Feld Pfad leer lassen, erstellt JMeter die URL-Anforderung http://www.google.com an den Google-Server.

In diesem Test lassen Sie das Feld Pfad leer, damit JMeter die URL-Anforderung http://www.google.com an den Google-Server erstellt.

Schritt 3) Hinzufügen des Graphenergebnisses

JMeter kann das Testergebnis im Diagrammformat anzeigen.

Klicken Sie mit der rechten Maustaste auf Testplan, Hinzufügen -> Listener -> Grafikergebnisse

Schritt 4) Führen Sie den Test aus und erhalten Sie das Testergebnis

Drücken Sie die Run - Taste (Strg + R) auf der Symbolleiste , um den Software - Testprozess zu starten. Sie sehen das Testergebnis in Echtzeit in der Grafik.

Das folgende Bild zeigt eine Grafik eines Testplans, in dem wir 100 Benutzer simuliert haben, die auf die Website www.google.com zugegriffen haben.

Am unteren Rand des Bildes befinden sich die folgenden Statistiken, die in Farben dargestellt sind:

  • Schwarz: Die Gesamtzahl der aktuell gesendeten Proben.
  • Blau: Der aktuelle Durchschnitt aller gesendeten Proben.
  • Rot: Die aktuelle Standardabweichung.
  • Grün: Durchsatzrate, die die Anzahl der Anforderungen pro Minute darstellt, die der Server verarbeitet hat

Lassen Sie uns die Leistung des Google-Servers in der folgenden Abbildung analysieren.

Um die Leistung des zu testenden Webservers zu analysieren, sollten Sie sich auf zwei Parameter konzentrieren

  • Durchsatz
  • Abweichung

Der Durchsatz ist der wichtigste Parameter. Es repräsentiert die Fähigkeit des Servers, eine schwere Last zu bewältigen. Je höher der Durchsatz ist, desto besser ist die Serverleistung.

In diesem Test beträgt der Durchsatz des Google-Servers 1.491,193 / Minute. Dies bedeutet, dass der Google-Server 1.491.193 Anfragen pro Minute verarbeiten kann. Dieser Wert ist ziemlich hoch, sodass wir den Schluss ziehen können, dass der Google-Server eine gute Leistung aufweist

Die Abweichung wird rot angezeigt - sie zeigt die Abweichung vom Durchschnitt an. Je kleiner desto besser .

Vergleichen Sie die Leistung des Google-Servers mit anderen Webservern. Dies ist das Ergebnis des Leistungstests der Website http://www.yahoo.com/ (Sie können andere Websites auswählen).

Der Durchsatz einer getesteten Website http://www.yahoo.com beträgt 867,326 / Minuten. Dies bedeutet, dass dieser Server 867.326 Anfragen pro Minute verarbeitet, weniger als Google.

Die Abweichung ist 2689, viel höher als bei Google (577). So können wir feststellen, dass die Leistung dieser Website geringer ist als die eines Google-Servers.

HINWEIS: Die oben genannten Werte hängen von verschiedenen Faktoren ab, wie der aktuellen Serverlast bei Google, Ihrer Internetgeschwindigkeit, Ihrer CPU-Leistung usw. Daher ist es sehr unwahrscheinlich, dass Sie dieselben Ergebnisse wie oben erzielen. Also keine Panik!

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 PerformanceTestPlan.jmx in Jmeter
  4. Doppelklicken Sie auf Thread Group -> Graph Result
  5. Führen Sie den Test aus