Das Vermeiden von Lasttests für Webanwendungen kann riskant sein. warum? Denn wenn das Programm einer übermäßigen Belastung ausgesetzt ist, kann das gesamte System auf die Knie fallen und nichts als Zeitverschwendung und Ressourcen verschwendung und potenziell unzufriedene Benutzer. Aus diesem Grund ist der Lasttest einer der entscheidenden Teile des Leistungstests, der angewendet werden muss. Glücklicherweise stehen verschiedene Lasttest-Tools zur Verfügung, die den Prozess vereinfachen. Viele Entwickler und Tester bevorzugen jedoch die Verwendung von JMeter für diese Aufgabe. Tauchen Sie ein, um anhand einiger Beispiele für Lasttests mehr über JMeter zu erfahren.
Überwinden Sie Ihre JMeter-Lasttestbeschränkungen mit LoadView
Was ist JMeter?
Entwickelt mit 100 Prozent Java-Sprache, Apache JMeter, oder einfach nur JMeter, ist ein starkes und funktionslaststarkes Lasttest-Tool. Dieses Programm kann sowohl dynamische als auch statische Testressourcen laden, indem gleichzeitig Benutzer generiert werden, um eine reale Testumgebung zu erstellen, in der die Engpässe in jedem Web oder jeder mobilen Anwendung erkannt werden. Wenn wir über statische und dynamische Ressourcen sprechen, können statische Ressourcen Sprachen und Frameworks wie JavaScript oder HTML sein. Dynamische Ressourcen können Frameworks und Sprachen wie AJAX, Flex sein.
Es ist jedoch wichtig, sich daran zu erinnern, dass JMeter kein Browser ist und daher nur HTTP- oder protokollbasierte Tests ausführen und durchführen kann. Es kann nicht alle Aktionen innerhalb von Browsern unterstützen und rendert Webseiten oder Anwendungen nicht genau so, wie es Browser tun würden. Darüber hinaus bietet JMeter nach der Analyse der Quelle einen vollständigen Bericht an, und die Ergebnisse können anhand verschiedener Interpretationsmodi überprüft werden. Aber auch hier, da JMeter JavaScript nicht rendert, sind die Antwortenzeiten und keine Details zur tatsächlichen Benutzererfahrung aus der Sicht des Benutzers.
Was ist Lasttest?
Lasttests sind, wie bereits erwähnt, eine Möglichkeit, das Verhalten einer Anwendung zu bewerten, wenn sie mit unterschiedlichen Lasten (Benutzer / Verkehr) angewendet wird. Mit einfachen Worten, Lasttests helfen zu verstehen, wie ein Programm (nehmen wir eine Website “abc.com” an) funktionieren würde, wenn 20 Benutzer gleichzeitig die Plattform nutzen. Welche Änderungen in der Leistung erhalten Sie ebenfalls, wenn die Anzahl der Benutzer von 20 auf 100 steigt? Oder sogar Tausende von Benutzern? Lasttests werden angewendet, um Fehler im Entwicklungsprozess zu identifizieren, die für die schlechte Leistung oder den Fehler einer bestimmten Software verantwortlich sind. Dies hilft Entwicklern, Fehler zu korrigieren, um sicherzustellen, dass alles reibungslos funktioniert. Im Gegensatz dazu sollten Sie wissen, dass Lasttests manchmal ein professionelles und erfahrenes Team erfordern, um korrekte Ergebnisse zu erzielen.
Fünf JMeter-Lasttestfälle
Hier sind fünf JMeter-Auslastungstestbeispiele , die Ihnen helfen, den Prozess zu verstehen. Jedes Beispiel enthält eine andere Anwendung, um Ihr Verständnis zu verbessern. Außerdem erfordert jeder JMeter-Belastungstest einen geeigneten Testplan. Angenommen, Sie haben JMeter bereits auf Ihrer Workstation installiert, können Sie anhand dieser Beispiele lernen, die Anwendung selbst zu testen. Es wird jedoch empfohlen, sich von den Experten helfen zu lassen, falls Sie keine Vorkenntnisse haben. Lass uns anfangen.
Beispiel 1 – Lasttest für Google
Im ersten Beispiel sehen Sie die Analyse, die die Tester mit JMeter für Google.com durchgeführt haben, wenn 100 Benutzer erwartet werden.
Testplan und Ergebnis
Schritt 1: Hinzufügen einer Thread-Gruppe
Öffnen Sie JMeter und klicken Sie mit der rechten Maustaste auf die Option “Testplan”. Bewegen Sie den Mauszeiger über “Hinzufügen” und “Threads” (Benutzer) und wählen Sie “Thread-Gruppe”. Sie werden zu einem Kontrollfeld weitergeleitet, in dem Sie “Thread-Eigenschaften” hinzufügen müssen.
Versuchsplan> Hinzufügen> Themen> Thread-Gruppe
Geben Sie ‘100’ in ‘Anzahl der Threads’ mit ‘Loop Count’ von 10 und ‘Ramp-Up Period’ von 100 ein. Aber warte! Denken Sie an die Bedingungen. Die Anzahl der Threads erklärt die Anzahl der Benutzer, die die Plattform nutzen (in diesem Fall google.com). Das Schleifenzahl legt fest, wie oft der Test ausgeführt werden soll. Und das Hochlaufzeit teilt mit, dass nach welchem Intervall ein neuer Benutzer hinzugefügt werden soll. Dieses Beispiel dient also zum Testen der Last über JMeter, wenn 100 Benutzer vorhanden sind, die alle 100 Sekunden verzögert werden.
Schritt 2: Hinzufügen von Elementen von JMeter
Hier bestimmten die Tester die JMeter-Elemente. Nach dem Erstellen einer Threadgruppe müssen Sie also die Option “HTTP-Anforderungsstandards” auswählen. Klicken Sie dazu mit der rechten Maustaste auf die Thread-Gruppe, bewegen Sie den Mauszeiger über “Konfigurationselement” und wählen Sie dann “Standardeinstellungen für HTTP-Anforderungen”. Dann müssen Sie den Servernamen oder die IP-Adresse hinzufügen (in diesem Fall http://www.google.com ).
Thread-Gruppe> Konfigurationselement> Standardeinstellungen für HTTP-Anforderungen
Klicken Sie danach mit der rechten Maustaste auf “Thread-Gruppe”, bewegen Sie den Cursor auf “Hinzufügen”, bewegen Sie den Mauszeiger auf “Sampler” und dann auf “HTTP-Anforderung”. Wenn ein bestimmter Pfad getestet werden muss, füllen Sie das Feld “Pfad” in der HTTP-Anforderungssteuerung aus. Geben Sie beispielsweise den “Kalender” in das Feld ein, damit JMeter die URL-Anforderung (http: www.google.com/calendar) für den Google-Server erstellen kann.
Hinzufügen> Sampler> HTTP-Anfrage
In diesem Beispiel haben die Tester das Pfadfeld leer gelassen, und die Informationen dienen nur Ihrer Wissensbildung.
Schritt 3: Diagrammergebnisse hinzufügen
Wählen Sie nach getaner Zeit erneut “Hinzufügen”, den Mauszeiger auf “Listener” und “Graphergebnisse”, um Testergebnisse in Form von Grafiken zu erhalten.
Hinzufügen> Hörer> Diagrammergebnisse
Schritt 4: Test und Ergebnisinterpretation
Nachdem Sie alle Schritte sorgfältig ausgeführt haben, klicken Sie in der Symbolleiste auf “Ausführen”, um mit dem Testen des Programms (Google) zu beginnen. In Kürze sehen Sie die Testergebnisse in Echtzeit in einem Diagramm. Wenn der Test abgeschlossen ist, werden am unteren Rand der JMeter-Oberfläche Statistiken in verschiedenen Farben angezeigt. Jede Farbe hat eine Bedeutung. Zum Beispiel:
Blau : Durchschnitt der gesendeten Proben
Schwarz : Gesamtzahl der gesendeten Proben
Grün : Durchsatzrate, die die Anzahl der Anforderungen (Verkehr / Benutzer) angibt, die der Server in jeder Minute bearbeitet hat.
rot : Die Standardabweichung
Denken Sie daran, dass Sie in allen Beispielen den Durchsatz (grün) und die Abweichung (rot) analysieren müssen. warum? Dies liegt daran, dass der Durchsatz der wichtigste Parameter ist, der die Kapazität eines Servers für den Umgang mit hoher Last darstellt. Ein höherer Durchsatz und eine geringere Abweichung bedeuten also eine bemerkenswerte Leistung des Servers.
Daher beträgt der Durchsatz von Google in diesem JMeter-Auslastungstestbeispiel 1.491.193 pro Minute. Dies bedeutet, dass Google-Server 1.491.193 Anfragen pro Minute bearbeiten können. Und die Abweichung beträgt 577. Daher wird gezeigt, dass ein Google-Server vorbildlich ist und maximale Last tragen kann.
Beispiel 2 – Lasttest für Yahoo
Laden Sie nach Google den Test von Yahoo über JMeter, indem Sie die gleichen Schritte wie im ersten Beispiel mit einem ähnlichen Testplan ausführen (100 ‘Anzahl der Threads’, 10 ‘Anzahl der Schleifen’ und 100 ‘Hochlaufzeit’).
Im Verlauf der gesamten Methode werden für Yahoo folgende Ergebnisse erzielt:
- Throughpu t = 867,326 pro Minute
- Abweichung = 2689
Dies bedeutet, dass der Server nur 867.326 Anforderungen pro Minute verarbeiten kann. Auch die Abweichung ist extrem höher (2689). Der Yahoo-Server kann übermäßigen Datenverkehr nicht bewältigen, insbesondere wenn wir ihn mit Google vergleichen. Daher zeigen die Ergebnisse, dass die Leistung von Yahoo im Vergleich zu Google nicht ideal ist.
Beispiel 3 – Lasttest für einen Demo-PetStore
Dies ist ein Beispiel für eine Demo-Pet-Store-Site (JPetstore).
Testplan und Ergebnis
Schritt 1: Hinzufügen einer Thread-Gruppe
Der erste Schritt ähnelt Beispiel 1. Öffnen Sie also ‘Testplan’ in JMeter und wählen Sie ‘Thread Group’.
Versuchsplan> Hinzufügen> Themen> Thread-Gruppe
Geben Sie dann die folgenden Werte in ‘Thread-Eigenschaften’ ein.
- Anzahl der Threads (Benutzer) = 20
- Hochlaufzeit (in Sekunden) = 120
- Anzahl der Schleifen = Auf ‘Forever’ gesetzt
Schritt 2: Hinzufügen von Elementen von JMeter
Klicken Sie auf die Option ‘HTTP Request Defaults’ (wie in Beispiel 1 erwähnt) und fügen Sie den Servernamen oder die IP-Adresse hinzu ( http: // localhost: 8080 / action / Catalog.action ).
Thread-Gruppe> Konfigurationselement> Standardeinstellungen für HTTP-Anforderungen
Hinweis: JPetstore ist eine Demo-Site und wird von den Testern in ihrer Testumgebung verwendet. Daher kann auf das Internet nicht zugegriffen werden, da es auf dem Personal Server (localhost) verfügbar ist. In diesem Beispiel wird kein Pfad verwendet. Sie können jedoch eine beliebige Adresse hinzufügen, unter der Sie den JMeter-Auslastungstest ausführen möchten. Zum Beispiel www.google.com ODER www.yahoo.com .
Schritt 3: Diagrammergebnisse hinzufügen
Gehen Sie zu ‘Listener’, um ‘Graph Results’ auszuwählen und Ergebnisse in Visuals zu erhalten.
Hinzufügen> Thread-Gruppe> Diagrammergebnisse
Schritt 4: Test und Ergebnisinterpretation
In diesem Fall beträgt der Durchsatz 89,871 pro Minute und die Abweichung 142 (größer als der Durchsatz). Das Diagramm verdeutlicht also, dass JPetstore das Laden nicht verarbeiten kann.
Beispiel 4 – Lasttest für JMeter Apache
In diesem Beispiel wird der Test JMeter Apache (jmeter.apachi.org) unter Verwendung der Diagrammergebnisse zur Interpretation geladen.
Testplan und Ergebnis
Schritt 1: Hinzufügen einer Thread-Gruppe
Öffnen Sie ähnlich wie in den vorherigen Beispielen “Testplan” und klicken Sie auf “Thread-Gruppe”.
Versuchsplan> Hinzufügen> Themen> Thread-Gruppe
Geben Sie diese Werte in die Thread-Eigenschaften ein:
- Anzahl der Threads (Benutzer) = 100
- Hochlaufzeit (in Sekunden) = 100
- Anzahl der Schleifen = 20
Schritt 2: Hinzufügen von Elementen von JMeter
Erstellen Sie nun den HTTP-Anforderungsstandard wie in den vorherigen Beispielen gezeigt.
Thread-Gruppe> Konfigurationselement> Standardeinstellungen für HTTP-Anforderungen
In diesem Fall haben Tester ‘Path’ verwendet, um eine Anfrage (download_jmeter) für die Download-Seite zu erstellen. Geben Sie daher die Anforderung in das Feld Pfad ein.
Hinzufügen> Sampler> HTTP-Anfrage
Schritt 3: Diagrammergebnisse hinzufügen
Bewegen Sie den Mauszeiger über “Listener”, um “Graph Results” auszuwählen und Ergebnisse in visuellen Darstellungen zu erhalten.
Hinzufügen> Thread-Gruppe> Diagrammergebnisse
Schritt 4: Test und Ergebnisinterpretation
In diesem Szenario beträgt die Abweichung 195 und der Durchsatz 1.136,719 (größer als die Abweichung). Dies bedeutet, dass die Download-Seite 1.136.719 Ladevorgänge (Anfragen / Benutzer) pro Minute verwalten kann, was ziemlich beeindruckend ist.
Beispiel 5 – Lasttests für E-Commerce-Websites
Wenn es darum geht, eine E-Commerce-Anwendung auf Last zu testen, müssen Sie sich sowohl auf regelmäßige als auch auf saisonale Verkäufe wie Black Fridays vorbereiten, da diese Veranstaltungen mehr Kunden anziehen, was bedeutet, dass die Anzahl der Ladungen (Besucher) wahrscheinlich ist erhöhen, ansteigen. Da es eine E-Commerce-Plattform gibt, die sich noch in der Entwicklung befindet, müssen Sie JMeter-Lasttests durchführen, indem Sie eindeutige Benutzer entwerfen.
Testplan und Ergebnis
Schritt 1 – Trichter realistisch einstellen
Bei einer E-Commerce-Website besuchen Kunden normalerweise die Startseite, suchen nach einem Produkt, legen es in den Warenkorb und checken aus. Wenn Sie in diesem Beispiel genau auf die Software achten, finden Sie die Option “Durchsatz-Controller”, bei der Sie den Durchsatz einstellen müssen, sowie die Option “Trichter”, die unter “Thread-Gruppe” angezeigt wird. Dropdown-Feld auf der linken Seite der Benutzeroberfläche. Diese Optionen helfen bei der Definition des Benutzerverhältnisses. Sie müssen also in beiden Optionen die gleichen Werte eingeben.
In diesem Beispiel haben Tester 100 Prozent virtuelle Benutzer, um die Homepage zu besuchen, während 90 Prozent der Benutzer nach einem bestimmten Produkt suchen. Von 90 werden wahrscheinlich 60 Prozent ein Produkt in den Warenkorb legen, und nur 35 Prozent der Benutzer sind diejenigen, die den Kaufvorgang auschecken und abschließen. Da der Test auf der Annahme basiert, sind Durchsatz und Trichter auf 90 Prozent eingestellt.
Schritt 2: Hinzufügen von Denkzeit
Für realistische Ergebnisse können Sie mit JMeter eine Denkzeit hinzufügen, die die Zeit definiert, die echte Benutzer für die Auswahl eines Produkts benötigen. Diese werden informell als Pausen bezeichnet und müssen in den Testfall aufgenommen werden, um sicherzustellen, dass die Ergebnisse der Realität nahe kommen.
Fügen Sie keine Verzögerung von 1 oder 2 Sekunden hinzu, da dies unrealistisch wäre. Aus diesem Grund haben Tester in diesem Beispiel in den ‘Thread Delay Properties’ 750 Millisekunden für die zufällige Verzögerung festgelegt und die konstante Verzögerung auf 200 Millisekunden festgelegt. Alles wird mit dem ‘Uniform Random Timer’ auf dem Bedienfeld erledigt.
Schritt 3: Einstellen des Thread-Gruppenparameters
Genau wie in Beispiel 1 müssen Sie die Anzahl der Threads, die Hochlaufperiode und die Anzahl der Schleifen angeben, indem Sie auf die Option “Thread-Gruppe” klicken. Hier sind die Eigenschaften für dieses Beispiel:
- Anzahl der Threads (Benutzer): 100
- Hochlaufzeit (in Sekunden): 1
- Anzahl der Schleifen : 50
Schritt 3: Erstellen eindeutiger virtueller Benutzer
Dieser Schritt ist entscheidend. Sie müssen eine Liste der Benutzer mit einem eindeutigen Namen, einer Benutzer-ID, einem Kennwort, Kontaktdaten und allen Informationen erstellen, die zum Zeitpunkt der Kaufabwicklung erforderlich sind. Außerdem müssen Sie der Liste Produktschlüsselwörter hinzufügen, damit sich virtuelle Benutzer wie echte Benutzer verhalten können. Stellen Sie außerdem sicher, dass die Informationen, die Sie in die Liste aufnehmen, auf der Website vorhanden sind. Wenn die Plattform keinen Inhalt enthält, sind die Ergebnisse der JMeter-Lasttests nicht sinnvoll.
Wenn Sie die Liste fertiggestellt haben, speichern Sie sie als CSV-Datei und importieren Sie sie während des Auslastungstests in JMeter.
Schritt 4: Diagrammergebnisse hinzufügen
Sie müssen “Grafikergebnisse” hinzufügen, um die Ergebnisse in einer grafischen Darstellung anzuzeigen. Sie können ‘Schritt 3’ von Beispiel 1 folgen, um Diagrammergebnisse hinzuzufügen.
Schritt 5: Test und Ergebnisinterpretation
Nach dem Ausführen des Tests erhalten Sie einen Testbericht.
Die obige visuelle Darstellung zeigt, dass der Durchsatz 64,186 / Minute beträgt, während die Abweichung 122 beträgt (größer als der Durchsatz). Dies bedeutet, dass die E-Commerce-Website nicht 100 Benutzer in einer Minute verarbeiten kann und nur weniger Last als erwartet bewältigen kann. Daher müssen Sie die Fehler beheben, um sicherzustellen, dass die Website den Auslastungstest umgeht.
Hinweis: Abhängig von verschiedenen Faktoren wie CPU-Leistung, Testumgebung, Internetgeschwindigkeit usw. können JMeter-Lasttests zu unterschiedlichen Ergebnissen führen. Aus diesem Grund wird empfohlen, die Profis den Test durchführen zu lassen, da sie über verfeinerte Ressourcen verfügen, die letztendlich die tatsächlichen Ergebnisse aufzeigen.
Zeiger
Die obigen Beispiele für JMeter-Lasttests werden mit zwei verschiedenen Versionen von JMeter abgeschlossen. Sie sollten also nicht in Panik geraten, wenn Sie in Ihrer installierten Version unterschiedliche Terminologien finden. Alle oben genannten Ergebnisse werden durch “Diagrammergebnisse” interpretiert. Es gibt jedoch andere “Zuhörer”, mit denen Sie Ergebnisse darstellen können, z.
- Gesamtbericht
- Aggregatdiagramm
- Ergebnisse in Tabelle anzeigen
- Ergebnisse als Baum anzeigen
- Zusammenfassende Ergebnisse generieren
Fazit: Fünf JMeter-Lasttestbeispiele
JMeter ist ein Tool zum Testen von Webanwendungen, um die Anzahl der gleichzeitigen Benutzer zu ermitteln, die sie in Echtzeit verarbeiten können. Die Tests werden auf fünf verschiedene Programme angewendet, darunter Google und Yahoo, um die Tragfähigkeit zu ermitteln. Darüber hinaus werden die Ergebnisse für jedes Beispiel mit dem Listener ‘Graph Results’ interpretiert. Trotzdem ist es ein komplizierter Prozess, der normalerweise eine professionelle Überwachung erfordert, um korrekte Ergebnisse sicherzustellen, die später dazu beitragen, Engpässe in den Anwendungen zu beheben.
Aus diesem Grund ist LoadView eine vertrauenswürdige Auslastungstestplattform, die zuverlässige Ergebnisse sicherstellen kann und keine massiven Investitionen in Hardware, Zeit und Aufwand erfordert. Testen Sie noch heute die kostenlose LoadView-Testversion. Wenn Sie Fragen haben, können Sie sich rund um die Uhr an unsere Ingenieure wenden, um Ihre Fragen zu beantworten und alle Ihre Probleme mit Auslastungstests zu lösen.
Stellen Sie schließlich sicher, dass Sie Ihre Webseiten und Webanwendungen kontinuierlich in die Live-Produktionsumgebung integrieren. Ihre Webanwendungen und Webseiten basieren auf einer Vielzahl oder Ressource. Stellen Sie sicher, dass Sie und Ihre Teams benachrichtigt werden, wenn sofort Probleme auftreten. Die Dotcom-Monitor-Plattform bietet Lösungen und Funktionen, die Sie benötigen, um Überwachungsgeräte schnell einzurichten und Warnungen zu erstellen, wenn Fehler oder Leistungsprobleme auftreten, sodass Ihre Teams Probleme schnell beheben und beheben können, bevor weitere Benutzer betroffen sind. Erfahren Sie mehr über die Überwachungslösungen von Dotcom-Monitor.