JMeter-Lasttests

Auslastungstests mit Apache JMeter

Laden von Tests mit JMeter

Wenn Ihre Organisation in der Vergangenheit keine Auslastungstests auf Ihren Websites, Webanwendungen oder APIs durchgeführt hat, riskieren Sie möglicherweise nicht nur Leistungsprobleme und eine schlechte Benutzererfahrung, sondern es kann auch probleme auftreten, Platz im Budget für eine Auslastungstestlösung zu erhalten. Die Verwendung von Open-Source-Lösungen wie Apache JMeter, Taurus, Gatling und anderen sieht gut aus für das Management, da Open-Source-Lösungen in der Regel kostenlos verwendet werden können und es keine Vorabinvestitionen gibt, was jedoch nicht bedeutet, dass keine Kosten anfallen. Open-Source-Tools haben einige Nachteile und weniger Funktionalität im Vergleich zu einer kommerziellen Lösung wie LoadView.

In diesem Artikel werfen wir einen hochrangigen Einblick in JMeter und einige der Überlegungen, die mit der Verwendung dieses Auslastungstesttools einhergehen. Denken Sie daran, dass JMeter nur protokollbasierte Tests ausführen kann und keine JavaScript-, HTML- oder CSS-Tests rendert, die möglicherweise nicht ausreichen, um die Leistung auf Benutzerebene zu verstehen.

JMeter Lasttests mit LoadView

Überwinden Sie Ihre JMeter-Lasttestbeschränkungen mit LoadView

Denken Sie daran, dass Auslastungstests nicht dasselbe sind wie Stresstests. Sie versuchen nicht, Ihre Website, Web-App oder API zu unterbrechen. Sie versuchen zu verstehen, wie sich Ihr Ziel und das zugrunde liegende System verhalten, wenn sie mit einer großen Anzahl gleichzeitiger Benutzer oder Datenverkehr angewendet werden. Beispielsweise könnte eine Website, die sich am Tag einer großen Produkteinführung verlangsamt, dem Unternehmen (und der Kundenbindung) irreparablen Schaden zufügen, sodass der Auslastungstest so gründlich durchgeführt wird, wie Es JMeter zulässt.

 

JMeter: Erste Schritte

Apache JMeter wird auf jedem Betriebssystem ausgeführt, das Java 6 oder höher unterstützt. Sie müssen auch Oracle Java oder OpenJDK installieren. JMeter verfügt über eine ziemlich intuitive GUI-Oberfläche.

 

Erstellen des Testplans

Auf der linken Seite des JMeter-Fensters wird ein Symbol testplan angezeigt. Klicken Sie mit der rechten Maustaste darauf, und wählen Sie > Threadgruppe Threads (Benutzer hinzufügen) > aus. Dadurch wird die Threadgruppensteuerung angezeigt, in der Sie angeben können, wie viele Benutzer für den Auslastungstest (Anzahl der Threads), die Zeit, die Sie auf die volle Anzahl von Benutzern aufwenden möchten (Ramp-Up-Zeitraum), und die Häufigkeit, mit der jeder Benutzer die Testskripts ausführen soll (Loop Count).

Stellen Sie sicher, dass die Anzahl der Benutzer die Menge des Datenverkehrs widerspiegelt, die Sie an einem anstrengenden Tag erwarten, z. B. Black Friday.

Nachdem Sie eine Threadgruppe erstellt haben, sollte sie in der Struktur unter dem Testplan angezeigt werden. Jetzt müssen Sie HTTP-Anforderungsstandards hinzufügen. Klicken Sie mit der rechten Maustaste auf das Symbol Threadgruppe, und wählen Sie > HTTP-Anforderungsstandards für Config-Elemente hinzufügen > aus. Geben Sie die URL Ihrer Website in der Systemsteuerung ein.

 

Aufzeichnung von Testskripts

Sie sollten Testskripts aufzeichnen, die das tatsächliche Benutzerverhalten imitieren, z. B. Artikel in einen Warenkorb legen und auschecken. Öffnen Sie einen Webbrowser wie Firefox oder Chrome, und ändern Sie die Netzwerkeinstellungen des Browsers, um den JMeter-Proxy zu verwenden. Wählen Sie Manuelle Proxykonfiguration und geben Sie “localhost” für Adresse und “8888” für den Port ein.

Jetzt können Sie mit der Aufzeichnung eines Testskripts beginnen. Geben Sie die URL Ihrer Website in die Adressleiste des Browsers ein, und klicken Sie auf Enter. Klicken Sie auf der Homepage Ihrer Website auf ein paar Links und navigieren Sie wie ein tatsächlicher Benutzer. Schließen Sie den Browser, und kehren Sie zu JMeter zurück. Erweitern Sie die Threadgruppenstruktur, und stellen Sie sicher, dass sich jetzt mehrere Sampler unter der Threadgruppe befinden. Dies sind die verschiedenen Seiten, zu denen Sie beim Aufzeichnen Ihres Skripts navigiert sind.

Speichern Sie Ihren Testplan, und überprüfen Sie das Skript, indem Sie mit der rechten Maustaste auf Threadgruppe klicken und Überprüfen auswählen. Klicken Sie auf das Symbol Ergebnisse anzeigen unter der Threadgruppe, um zu sehen, ob die Validierung erfolgreich war.

 

Ausführen des Auslastungstests

Klicken Sie auf die Symbolleiste ausführen auf die Symbolleiste von JMeter, um den Auslastungstest zu starten. JMeter zeigt die Testergebnisse in einem Diagramm an, das in Echtzeit aktualisiert wird.

 

Analysieren der Auslastungstestergebnisse

JMeter zeigt den Durchsatz im Diagramm grün an. Je höher der Durchsatz ist, desto besser ist Ihr Server in der Lage, die hohe Last zu bewältigen.

Beachten Sie, dass JMeter virtuelle Benutzer von Ihrem Computer aus an Ihre Website sendet. Oder anders ausgedrückt, die Anrufe kommen aus dem Inneren des Hauses. Dies bedeutet, dass Ihr Auslastungstest nicht den realen Datenverkehr widerspiegelt. Eine geeignete Auslastungstestlösung sollte eine Möglichkeit bieten, von externen Standorten aus zu testen, insbesondere von den Bereichen und Regionen, in denen sich Ihre Benutzer befinden. Dadurch wird die Leistung aus der Sicht des Benutzers angezeigt und realistischere Auslastungstestergebnisse angezeigt.

Wenn die von JMeter bereitgestellten Features und Funktionalitäten für Ihre Anforderungen nicht ausreichen, sollten Sie eine Cloud-basierte Lasttestlösung wie LoadView ausprobieren, die eine große Anzahl gleichzeitiger Benutzer von geografischen Standorten auf der ganzen Welt zu Ihrer Site senden kann.

Die LoadView-Plattform unterstützt JMeter-Lasttests. Laden Sie JMX-Dateien in die LoadView-Plattform hoch, konfigurieren Sie Ihre Auslastungstesteinstellungen und führen Sie Ihre Auslastungstests von mehreren geografischen Standorten aus aus. LoadView bietet Funktionen und Pakete auf Unternehmensebene, die die Anforderungen Ihres Unternehmens erfüllen können.

Erfahren Sie, wie LoadView mit anderen Lasttesttools auf dem Markt verglichen wird.