JMeter-Lasttests
Der ultimative Leitfaden für 2023
Übersicht über das JMeter-Lasttesthandbuch
Leistungstests sind ein äußerst wichtiger Aspekt des Software- und Anwendungsentwicklungslebenszyklus. Wenn Ihre Webanwendungen, Websites oder APIs von einer großen Anzahl von Benutzern verwendet werden, müssen Sie wissen, wie sie Spitzenverkehr oder längeren Zeiträumen mit anhaltendem hohem Datenverkehr standhalten werden. Eine schnelle Suche nach Leistungstesttools deckt viele freie, Open-Source- und kommerzielle Optionen auf. Ein solches beliebtes Tool ist Apache JMeter. Wenn Sie mit Leistungstests noch nicht neu sind, fragen Sie sich vielleicht, was JMeter ist? Und wie funktioniert JMeter?
JMeter ist ein äußerst beliebtes Open-Source-Java-basiertes Leistungstesttool zum Ausführen von protokollbasierten Auslastungstests für verschiedene Web- und Softwaredienste, APIs (SOAP und REST), Webanwendungen und andere Webdienste. Im Vergleich zu anderen Leistungs- und Auslastungstest-Tools und -Lösungen, die Sie heute auf dem Markt sehen, war JMeter eines der frühesten Tools, die auf dem Markt für Leistungstests eingeführt wurden, weshalb es bis heute beliebt und weit verbreitet ist. In diesem Leitfaden werden alle Aspekte, Vorteile, Merkmale und Nachteile von JMeter behandelt. Wir werden uns ansehen, wie JMeter funktioniert, wie man Leistungstests mit JMeter, Alternativen zu JMeter und vieles mehr durchführt.
JMeter Ultimate Guide-Menü
JMeter – Wie es funktioniert
Auf einer grundlegenden Ebene simuliert JMeter Besucher Ihrer Anwendung oder Ihres Dienstes, indem es Benutzern ermöglicht, HTTP-Anforderungen (Hypertext Transfer Protocol) zu erstellen und an den Server zu senden. Anschließend werden die Serverantwortdaten erfasst, und die statistischen Daten werden für Benutzer visuell in Form von Diagrammen und Berichten angezeigt. Anhand der gesammelten und erstellten Berichte können Benutzer das Anwendungsverhalten und Leistungsengpässe beobachten und einen Einblick in die Notwendigkeit von Anwendungsverbesserungen bieten. Es ist wichtig zu beachten, dass JMeter kein Browser ist, was bedeutet, dass er nur auf Protokollebene funktioniert und nicht alle Aktionen des Clients oder Benutzers unterstützt, z. B. das Rendern von JavaScript.
Trotz dieser Einschränkung bietet JMeter eine Problemumgehung für diese Probleme, indem Es Funktionen und Elemente wie Cache-Manager, Cookie-Manager und Header-Manager bietet, die Es JMeter ermöglichen, mehr zu handeln und zu funktionieren, wie es ein echter Browser tun würde. JMeter ist eine Java-basierte Desktop-Anwendung, daher gibt es für die Verwendung von JMeter verschiedene Voraussetzungen, die Sie erfüllen müssen, bevor Sie mit dem Leistungstest beginnen können. Sie müssen z. B. die neueste Java-Version installiert haben und die Mindestsystemanforderungen erfüllen, um JMeter verwenden zu können. Im Vergleich zu SaaS-basierten Lasttesttools kann dies einige zusätzliche Zeit und Ressourcen in Anspruch nehmen.
Ist JMeter das beste Auslastungstesttool?
JMeter ist seit sehr langer Zeit eines der beliebtesten Open-Source-Lasttesttools, was es zu einem der häufigsten Tools macht, mit denen Entwickler und Softwareentwicklungsteams bei der Durchführung von Leistungstests vertraut sind. Darüber hinaus gibt es aufgrund seiner Langlebigkeit auf dem Markt eine große Menge an Dokumentation, Community-Support und Best Practices für die Verwendung von JMeter. Hinzu kommt, dass es sich um eine kostenlose Open-Source-Software handelt, die aus Budgetierungssicht eine attraktive Lösung für Teams und Organisationen darstellt, da für den Einstieg wenig bis gar keine Ressourcen benötigt werden.
Mit dem Technologischen und dem Aufkommen von SaaS-basierter Software wurden jedoch auch Last- und Stresstestlösungen immer häufiger. Obwohl open-Source-Lasttestlösungen wie JMeter weiterhin benötigt werden, gibt es viele Cloud-basierte Lösungen, die mit allen Funktionen, Vorteilen und Support für einen kostengünstigen Monatlichen Preis verpackt sind. Beispielsweise ist die Umstellung von protokollbasierten Tests auf browserbasierte Tests entscheidend, um die Leistung aus der Sicht des Benutzers zu verstehen. Moderne Browser bieten viel mehr Funktionalität und Unterstützung für Webanwendungen im Vergleich zu Browsern aus den frühen 1990er Jahren. Um alle erforderlichen Leistungsdaten auf Clientseite zu sammeln, benötigen Sie ein Tool oder eine Lösung, die Auslastungstests in echten Browsern unterstützen können.
Leistung vs. Auslastungstests mit JMeter – Was ist der Unterschied?
Wenn wir im Allgemeinen über Leistungstests nachdenken oder wenn der Begriff Leistungstests verwendet wird, fällt uns in der Regel Lasttests ein. Mehr noch, diese Begriffe werden manchmal austauschbar verwendet. Es gibt jedoch einen Unterschied. Last- und Belastungstests sind nur Teilmengen oder Typen der Leistungstests innerhalb der Leistungstestfamilie. Auslastungstests können für verschiedene Systeme, Websites, Web-Apps, APIs und mehr durchgeführt werden. Die simulierte Last wird angewendet, in der Regel beginnend mit niedrigeren Ebenen, und langsam steigende Last im Laufe der Zeit, um die Leistung unter Last und wie das Gesamtsystem reagiert zu messen.
Stresstests und Auslastungstests sind miteinander verknüpft, aber das Ziel von Stresstests besteht darin, die Belastung zu erhöhen, bis das System ausfällt oder die Leistung beeinträchtigt wird. In der Regel weisen Auslastungstests vordefinierte Lastgrenzwerte auf, um nicht zu einem Ausfall des Systems zu führen. Andere Arten von Leistungstests umfassen Spike-Tests, Dauertests, Skalierbarkeitstests und Volumentests. Während sich die Ausführungspläne und Ziele dieser Arten von Leistungstests unterscheiden, werden Leistungstests durchgeführt, um zu verstehen, warum Ihre Anwendungen möglicherweise langsamer geladen werden als erwartet, wodurch Skalierbarkeitsprobleme im Zusammenhang mit der Festplatten- oder CPU-Auslastung identifiziert werden oder welche spezifischen Elemente oder Komponenten die Leistung beeinträchtigen.
Keine Kreditkarte, kein Vertrag.
So führen Sie Auslastungstests mit JMeter durch:
Schritt für Schritt Anleitung für Anfänger
Ein Open-Source-Tool für Leistungstests wie JMeter bietet Organisationen die Möglichkeit, Leistungstests für ihre Webanwendungen, Websites und APIs durchzuführen, muss sich jedoch nicht mit Vorabinvestitionen befassen, die mit kommerziell basierten oder kostenpflichtigen Leistungstesttools bemessen werden. Bei der Auswahl einer Open-Source-Desktop-basierten Auslastungstestlösung wie JMeter im Vergleich zu einer kostenpflichtigen webbasierten Lösung, z. B. LoadView, gibt es viele Überlegungen, über die Sie nachdenken müssen. Wenn Sie nur ein Anfänger von JMeter sind, sollten Sie sich etwas Zeit nehmen, um zu verstehen, wie alles funktioniert und die entsprechenden Artikel zu lesen oder Videos zu sehen, wie Sie mit JMeter beginnen. Sehen wir uns einige der Schritte an, die zur Installation von JMeter erforderlich sind, und wie Sie einen einfachen Auslastungstest konfigurieren.
Schritt 1: Überprüfen der Systemanforderungen
Wie jede andere Desktopanwendung müssen Sie sicherstellen, dass Ihr System die notwendigen grundlegenden Anforderungen erfüllt, um JMeter ausführen zu können. Wie wir bereits in diesem Handbuch erwähnt haben, ist JMeter eine Java-basierte Anwendung, so dass Sie sicherstellen müssen, dass Sie Java installiert haben, sowie die richtige Version. JMeter ist kompatibel mit Versionen von Java 8 oder höher. Darüber hinaus wird aus Gründen der Leistung und Sicherheit empfohlen, die neuesten Nebenversionen von JMeter zu installieren. JMeter kann auf verschiedenen Windows-, Mac- und Linux-Betriebssystemen ausgeführt werden, stellen Sie also sicher, dass Ihr Betriebssystem kompatibel ist oder dass Sie über eine kompatible Java-Implementierung verfügen.
Schritt 2: Herunterladen von JMeter Binaries oder Source Code
Nachdem Sie überprüft haben, dass Ihr System alle erforderlichen Systemanforderungen erfüllt, können Sie die neuesten JMeter-Binärdateien oder Quelldateien herunterladen, je nach Umgebung oder Anforderungen. Die Binärdateien enthalten die kompilierten Versionen des JMeter-Programms, und Sie können es sofort ausführen. Auf der anderen Seite können Quelldateien ohne Verwendung eines Paket-Managers installiert werden, so dass Entwickler oder Teams das Programm selbst konfigurieren und kompilieren und mehr Kontrolle über die installierten Programme haben. In den meisten Fällen sind die binären Versionen der Software installiert. Und beachten Sie, dass es verschiedene Datei-Download-Typen, einschließlich .zip, und .tgz Dateierweiterungen.
Schritt 3: JMeter-Installationsprozess
Sobald Sie die Binär- oder Quellversion von JMeter ausgewählt haben, wird es auf Ihr System heruntergeladen. Sie können die Datei öffnen, an einen neuen Speicherort verschieben oder einen neuen Ordnerspeicherort in Ihrem System erstellen, um später schneller darauf zugreifen zu können. Von dort können Sie beginnen, die Datei zu extrahieren. Dies kann einige Minuten dauern, bis der gesamte Installationsvorgang abgeschlossen ist. Je nach Betriebssystem können während des Installationsvorgangs unterschiedliche Schritte auftreten, aber sobald JMeter installiert wurde, ist die Funktionalität von JMeter identisch.
Schritt 4: JMeter-Benutzeroberfläche
Wenn Sie JMeter starten, öffnen Sie und werden zum Testplanfenster gebracht. Von hier aus können Sie Ihren Testplan erstellen. Dieses Fenster bietet Zugriff auf die Menü- und Hauptwerkzeugleiste in der Nähe der oberen linken Seite des Fensters. Sie können über die Menü- und Hauptwerkzeugleiste auf einige der gleichen Funktionen zugreifen, aber die Hauptwerkzeugleiste bietet einen schnelleren Zugriff auf einige der Tools und Funktionen, die Sie während des Erstellungs- und Konfigurationsvorgangs für Auslastungstests verwenden werden. In der Nähe der oberen rechten Seite des Fensters sehen Sie Optionen für Zeit, Protokolle (Ansicht/Ausblendung) und Benutzer während der Testausführung.
Im Hauptabschnitt, dem Sogenannten Editor-Abschnitt, können Sie die verschiedenen Testplanelemente und -felder für den Auslastungstest anzeigen und konfigurieren. Auf der linken Seite des Abschnitts Editor sehen Sie die Strukturansicht des Testplans, während Sie den Testerstellungs- und -konfigurationsprozess durchlaufen, und können einzelne Elemente erweitern und schließen, um sie einzeln zu durchbohren.
Schritt 5: Erstellen eines Auslastungstestplans
JMeter-Benutzer können mit dem Erstellen ihres Auslastungstestplans von Grund auf neu beginnen oder auch aus verschiedenen Testplanvorlagen auswählen, die sich im Dropdownmenü Datei befinden. Zu den Vorlagen gehören SOAP WebService-Testplan, einfacher und erweiterter Webtestplan, FTP-Testplan (File Transfer Protocol), Funktionstestplan und andere. Diese Testvorlagen enthalten alle erforderlichen spezifischen Elemente, Abschnitte und Felder, die Sie zum Erstellen und Erstellen des Auslastungstestplans verwenden. Wenn Sie mit Leistungstests oder JMeter selbst noch nicht so gut eingestellt sind, sollten Sie zunächst Vorlagen verwenden, anstatt ihren Testplan von Grund auf neu zu erstellen, bevor Sie zu erweiterten Testplänen übergehen.
Um einen Testplan zu erstellen, navigieren Sie einfach zu Datei und wählen Sie Neu oder wählen Sie die Schaltfläche Neu in der Werkzeugleiste aus. Beachten Sie, dass Sie JMeter im GUI-Modus ausführen müssen, um den Testplan zu erstellen. Die CLI oder Befehlszeilenschnittstelle wird verwendet, um den Auslastungstest auszuführen. Als Nächstes werden wir über die Angabe der Anzahl der Benutzer für Ihren Auslastungstest sprechen, die auch als Threadgruppe bezeichnet wird.
Schritt 6: Erstellen einer Threadgruppe
Im Dialogfeld Threadgruppe können Sie mehrere Threadeigenschaften festlegen und anpassen, z. B. Anzahl der Threads (Benutzer), Rampupzeitraum (in Sekunden) und Schleifenanzahl (wie viele Testiterationen) sowie zusätzliche Aktionen wie Verzögerungen, Teststart- und -stoppzeiten und Aktionen, die nach einem Samplerfehler ausgeführt werden sollen.
Schritt 7: Konfigurieren des Samplers
In JMeter ermöglichen Sampler das Senden der verschiedenen Arten von Anforderungen durch JMeter. Dies kann z. B. eine HTTP-Anforderung (für eine Website, Anwendung oder API), EINE FTP-Anforderung, eine SMTP-Anforderung, eine TCP-Anforderung sowie viele andere sein. Wenn Sie beispielsweise einen Auslastungstest für eine Webseite oder Website ausführen möchten, wählen Sie HTTP-Anforderung aus. Von hier aus werden Sie mit der Eingabe zusätzlicher Details wie Protokoll (HTTP/S), Servername oder IP, Pfad (für bestimmte Webseite) und welche Art von Anforderung, wie GET, POST, HEAD, PUT, etc., die für API-Auslastungstests verwendet werden können angezeigt.
Schritt 8: Konfigurieren von Listenern
Um die Sampler-Ergebnisse überprüfen zu können, müssen Sie als nächstes die so genannten Listener in JMeter konfigurieren. Im JMeter-Testplanfenster können Sie aus vielen verschiedenen Listenern auswählen, z. B. Zusammenfassungsbericht, Diagramm aggregieren, Ergebnisstruktur anzeigen, Ergebnisse in Tabelle anzeigen sowie viele andere Optionen auswählen, um die Testergebnisse anzuzeigen und zu analysieren. Darüber hinaus können Sie einem JMeter-Testplan mehrere Listener hinzufügen. Ab diesem Zeitpunkt ist der Testplan abgeschlossen, und Sie können den Test ausführen.
Schritt 9: Aufzeichnen der Auslastungstestskripts
Wenn Sie nur eine grundlegende HTTP-Datei oder eine Auslastungstestebene auf Protokollebene in Bezug auf die Testkonfiguration ausführen möchten, dann gibt es wirklich nichts mehr, was Sie tun müssen. Wenn Sie jedoch einen Test konfigurieren müssen, der Benutzeraktionen näher kommt, müssen Sie den HTTP(S)-Testskriptblocker verwenden. In JMeter wird dies also einen weiteren Schritt im Testplan hinzugefügt. Innerhalb der Threadgruppe müssen Sie den Aufnahmecontroller hinzufügen. Mit dem Aufzeichnungscontroller können Sie durch eine Website oder Anwendung navigieren und Ihre Aktionen über HTTP/S-Anforderungen aufzeichnen. Sie können auch mehrere Aufnahmecontroller pro Seite hinzufügen. Der Aufnahmecontroller spart Zeit, sodass Sie nicht jede Anforderung manuell hinzufügen müssen.
Der Nachteil ist jedoch, dass Sie immer noch die HTTP/S-Anforderungen aufzeichnen, Sie nicht tatsächlich Schritte in einem echten Browser aufzeichnen, aus der Sicht des Benutzers. Jetzt können Sie auch den JMeter Proxy Server verwenden, mit dem Sie Skripts von einem Browser aufnehmen können, aber die Einrichtung dauert eine Weile. Sie müssen in die Proxyeinstellungen Ihres Systems wechseln, das JMeter-Zertifikat importieren und schließlich die Proxyeinstellungen konfigurieren.
Alternativ ist eine Lösung wie LoadView, die den EveryStep Web Recorderverwendet, ein großer Schritt nach oben gegenüber den Aufnahmeoptionen von JMeter, wie z. B. Point-and-Click-Skripting in echten Browsern, ohne dass die zeitaufwändige und komplexe Einrichtung erforderlich ist. Öffnen Sie einfach den Recorder und beginnen Sie mit der Skripterstellung.
Schritt 10: Ausführen des Auslastungstests
Nachdem Sie alle Details und Einstellungen für Auslastungstests konfiguriert haben, können Sie einfach die Schaltfläche Ausführen in der Werkzeugleiste auswählen, und der Test beginnt. Denken Sie daran, den Test im CLI-Modus auszuführen, um bessere Ergebnisse zu erzielen.
Schritt 11: Überprüfen der Auslastungstestergebnisse
Je nachdem, welchen Listenertyp Sie ausgewählt haben, können Sie die Ergebnisse während der Testläufe anzeigen. Wenn Sie z. B. Ergebnisse in Tabelle anzeigen ausgewählt haben, werden die Ergebnisse angezeigt, wenn jeder Lauf oder Jeder Benutzer ausgeführt wird. In den Ergebnissen sind auch zusätzliche Metriken enthalten, z. B. Zeit (in Millisekunden), Status (zeigt gültige Antworten und Fehler), Bytes und Bytes Sent, Latencyund Connect Time. Anhand dieser Ergebnisse können Sie sehen, wo Fehler aufgetreten sind oder wo es zu langsamen Ladezeiten kommen kann.
Planen Sie eine kostenlose Demo von LoadView mit einem Performance-Techniker,
oder besuchen Sie unsere detaillierte Knowledge Base für weitere Informationen.
Vorhin haben wir in diesem Handbuch darüber gesprochen, was Leistungstests sind und welche verschiedenen Arten von Leistungstests es unter dem Dach von Leistungstests gibt, wie Z. B. Belastungstests, Belastungstests, Skalierbarkeitstests, Spiketests usw. Wenn wir uns ansehen, was JMeter bietet, werden wir sehen, dass es am besten für die Durchführung von Belastungstests und Stresstests geeignet ist. Da die Last jedoch von Ihrem eigenen Gerät simuliert wird, wird es schwierig sein, tatsächliche Testergebnisse in der Praxis mit JMeter nur auf der Grundlage protokollbasierter Tests zu ermitteln.
Darüber hinaus sollten Sie sich, da mehr Anwendungen auf den Browser und nicht auf den Server angewiesen sind, auch von Tools entfernen, die nur protokollbasierte Auslastungstests durchführen können. Auf der JMeter-Website wird eindeutig angegeben, dass JavaScript nicht wie ein Browser ausgeführt oder gerendert werden kann, nur die Antwort-Timings sind enthalten. Die Möglichkeit, zu testen, wie Ihre Anwendung oder Seite unter Last gerendert wird, ist ein großer Teil der Benutzererfahrung. Nicht nur das, aber Ihre Benutzer befinden sich nicht alle in der gleichen geografischen Region wie Ihr Unternehmen. Das richtige Tool für Leistungstests sollte auch eine Möglichkeit bieten, auf einfache Weise externe verteilte Tests durchzuführen, um einen besseren Einblick in die tatsächliche Leistung in verschiedenen geografischen Regionen zu erhalten.
Eine Lösung wie LoadView, die auch für Last-, Belastungs-, Spitzen- und Skalierbarkeitstests geeignet ist, bietet Funktionen wie echte Browser, verteilte Tests, Szenarien mit mehreren Lastkurven und ein Point-and-Click-Skripting-Tool, was sie zu einer großartigen Lösung für Leistungstests Ihrer Websites, Webanwendungen, APIs und anderer Webdienste macht.
Es ist hilfreich, sich LoadView als umfassende Gesamtlösung für Ihre Lasttestanforderungen für Websites und Webanwendungen vorzustellen und unser Team von LoadView als Ihren kompetenten Partner für alles rund um das Thema Lasttests zu betrachten. Eine vollständige Lasttestplattform wie LoadView bietet zahlreiche Effizienzen und Vorteile, die das Budget durch Zeitersparnis und überlegene Ergebnisse mehr als rechtfertigen. Durch die Verwendung von LoadView können DevOps-Teams ohne mühsames Scripting das Beste aus ihrem Lasttestprozess herausholen, was zu besseren Ergebnissen führt.
Die Ergebnisse der Lasttests von LoadView sind auch die genauesten in der Branche, da wir neben zahlreichen Gerätetypen auch echte Browser- und echte Benutzertests von geografischen Standorten auf der ganzen Welt aus unterstützen. Teams können sich darauf verlassen, dass die Ergebnisse ihrer Tests mit LoadView korrekt sind, was bedeutet, dass Zeit und Fokus auf die Entwicklung gelegt werden können, ohne sich Gedanken darüber machen zu müssen, ob die Ergebnisse von Lasttests aufgrund menschlicher Fehler oder einer Open-Source-Lasttestplattform, die nicht so streng gewartet oder unterstützt wird wie LoadView, korrekt sind. Allein die Sicherheit, die sich daraus ergibt, macht unser System für die meisten ernsthaften DevOps-Teams lohnenswert.
Darüber hinaus ist die Unterstützung von LoadView unübertroffen. Unsere Experten für Lasttests stehen Ihnen in jeder Phase Ihres Lasttestprozesses zur Verfügung. Dies ermöglicht es Teams, regelmäßige Lasttests schnell und einfach in ihren DevOps-Prozess zu integrieren, was zu besseren Ergebnissen in Bezug auf die Entwicklung und letztendlich für die Benutzer Ihrer Websites und Webanwendungen führt. LoadView macht kollaborative Lasttests einfach, effizient und effektiv.
REST-API-Tests
REST-APIs (Representational State Transfer) oder RESTful-APIs werden bei der Entwicklung verschiedener Webdienste verwendet. Im Gegensatz zu SOAP-APIs ist REST kein Protokoll, sondern ein Architekturstil, der auf URIs (Uniform Resource Identifiers) und dem HTTP-Protokoll basiert. REST wird häufig zum Anzeigen öffentlicher APIs über das Internet verwendet. Wenn ein Benutzer/Client eine REST-API-Anforderung stellt, ist es wie die Suche nach etwas im Internet. Sie geben ein, was Sie suchen, und Sie erhalten eine Liste der Ergebnisse zurück, oder im Fall von REST-APIs, Ressourcen. Bei einer REST-Anforderung gibt es jedoch verschiedene Komponenten, z. B. Header, Daten (Text), Methode und Endpunkt (Route der URL). Was Sie von der Anforderung zurückerhalten, ist in der Regel im JSON- oder XML-Format, aber JSON ist das am häufigsten verwendete Format. SOAP-APIs lassen nur das XML-Format zu.
Schritt 1: Erstellen eines Testplans
Öffnen Sie zunächst JMeter. Sie werden sehen, dass ein neues Testplanfenster geöffnet wird. Wenn Sie JMeter bereits geöffnet haben, können Sie auch die Schaltfläche Neu in der Hauptwerkzeugleiste auswählen, um einen neuen Testplan zu erstellen.
Schritt 2: Erstellen der Threadgruppe
Wie im vorherigen Abschnitt behandelt, können Sie im Fenster Threadgruppe die Anzahl der Benutzer (Threads), die Anlaufzeit und die Anzahl der Testiterationen (Schleifenanzahl) hinzufügen.
Schritt 3: Konfigurieren des Samplers
Als Nächstes müssen wir den Sampler hinzufügen. Sie können aus einigen vorkonfigurierten Samplern in JMeter wählen oder aus einem Ihrer eigenen auswählen. Für die Zwecke dieses API-Testszenarios gehen wir davon aus, dass wir eine vorkonfigurierte Option verwenden. Klicken Sie dazu mit der rechten Maustaste auf die Threadgruppe, um das Dropdown-Fenster zu öffnen. Wählen Sie Hinzufügen, dann Sampler. Von hier aus können Sie die Liste der Sampler-Optionen anzeigen. Zum Testen von APIs möchten wir HTTP-Anforderung auswählen und dadurch das nächste Fenster öffnen. Von hier aus können Sie Ihren Test benennen und die Einstellungen für Ihren REST-API-Test konfigurieren. Beachten Sie, dass es zwei Abschnitte, Basic und Advanced, im HTTP-Anforderungsfenster gibt. Wir konzentrieren uns auf die Grundeinstellungen für diesen Test. Sie werden verschiedene Felder bemerken, wie Protokoll, Servername oder IP, Portnummer, HTTP-Anforderung (GET/POST/HEAD/PUT/DELETE usw.), Parameter und vieles mehr.
Geben Sie daher zunächst die API-URL in das Feld Servername oder IP (Internet Protocol) (nur den Domänennamen), zusammen mit dem entsprechenden Protokoll ein, und fügen Sie im Feld Pfad den Pfad der API hinzu. Wenn es sich um eine GET-Anforderung handelt, wählen Sie GET aus der HTTP-Anforderungsliste aus. Wenn Sie über bestimmte Parameter verfügen, z. B. eine bestimmte Seite, können Sie diesen Teil der URL im Feld Parameter hinzufügen. Sie können es auch in das Feld Pfad aufnehmen, aber durch Hinzufügen zum Feld Parameter haben Sie zusätzliche Feldoptionen, z. B. URL-Encode?, Content-Typeund Include Equals?
Schließlich müssen Sie in einigen Ihrer Anfragen Ihre Anforderungsheader angeben. Navigieren Sie dazu einfach im Fenster Testplan zur HTTP-Anforderung. Mit der rechten Maustaste wird das Dropdown-Menü geöffnet. Wählen Sie hier Die Option Hinzufügen, dann Config Element. Ein weiterer Hinweis zu diesem Dropdown-Menü ist, dass Sie hier auch API-Authentifizierungsmethoden hinzufügen möchten. Dadurch werden die verfügbaren Optionen geöffnet. In diesem Beispiel wählen wir HTTP Header Manager. Dadurch wird das HTTP-Header-Manager-Fenster geöffnet, in dem Sie Ihre API-Header hinzufügen können. Sobald Sie Ihre Einstellungen abgeschlossen haben, können Sie mit dem nächsten Schritt fortfahren.
Schritt 4: Hinzufügen von Listenern
Listener werden zum Speichern und Anzeigen der Testergebnisse verwendet. Sie können beeinete Listener hinzufügen. Um Listener hinzuzufügen, klicken Sie einfach mit der rechten Maustaste auf die Threadgruppe und wählen Sie Hinzufügen, dann Listener. Dadurch wird das Dropdown-Menü geöffnet, in dem Sie über 15 Optionen zur Auswahl sehen. Häufig ausgewählte Listener sind Die Ansichtsergebnisstruktur und die Ergebnisanzeige in der Tabelle. Beachten Sie nur, dass für Listener, die eine grafische Darstellung bereitstellen, z. B. Ergebnisstruktur anzeigen, mehr Arbeitsspeicher und CPU verbraucht wird. Sobald Ihre Listener hinzugefügt wurden, können Sie Ihren Testplan speichern.
Schritt 5: Ausführen des Tests und Anzeigen der Ergebnisse
Nachdem Sie die Details und Einstellungen für Auslastungstests konfiguriert und gespeichert haben, können Sie die Schaltfläche Ausführen in der Werkzeugleiste auswählen, und der Test beginnt. Sie sehen, dass die Sampler-Ergebnisse im Fenster geladen werden, und stellen die verschiedenen Details, Daten und Metriken, wie Latenz, Antwortcodes, Verbindungszeit usw., Ihres REST-API-Tests bereit.
SOAP-API-Tests
REST-APIs (Representational State Transfer) oder RESTful Erstellen eines SOAP-API-Tests (Simple Object Access Protocol) in JMeter gleicht den Schritten zum Erstellen eines REST-API-Auslastungstests. SOAP unterscheidet sich jedoch von einer REST-API, da es sich um ein eigenes Protokoll handelt, sodass beim Laden von SOAP-APIs, wie Sicherheit und Compliance, Bandbreite (SOAP-APIs in der Regel mehr Ressourcen) und Funktionen wie Wiederholungslogik, über die REST-APIs nicht verfügen, berücksichtigt werden müssen. Schauen wir uns die Schritte an, die zum Erstellen eines SOAP-API-Tests in JMeter erforderlich sind.
Schritt 1: Testplan
Wir haben dies in den vorherigen Abschnitten angesprochen, aber JMeter bietet eine Vielzahl von Testplanvorlagen. Auf diese kann über das Menü oder das Vorlagensymbol in der Haupt-Toolleiste zugegriffen werden. Es gibt eine Option namens Erstellen eines SOAP WebService TestPlans. Wenn Sie diese Option auswählen, wird der Testplan erstellt und geöffnet. Es werden weitere Abschnitte angezeigt, z. B. benutzerdefinierte Variablen, HTTP-Anforderungsstandards, Anzahl der Benutzer usw. Und da es sich um eine Vorlage handelt, gibt es auch Platzhalterwerte in einigen der Felder, in denen Sie die entsprechenden Daten und Informationen eingeben müssen.
Schritt 2: Threadgruppe
Wie in der REST-API-Konfiguration, müssen Sie Ihre Anzahl von Benutzern hinzufügen, oder Threads, Anlaufzeit, Loops, oder Testiterationen. Als Untergruppe innerhalb der Hauptthreadgruppe können Sie auf die HTTP-Anforderungseinstellungen zugreifen, wie wir sie für das REST-API-Setup behandelt haben. Das Erscheinungsbild dieses Abschnitts ist jedoch etwas anders, da standardmäßig der Text der SOAP-API-Anforderung angezeigt wird. Ebenfalls enthalten sind die Unterabschnitte HTTP Header Manger und Response Assertations. Wie die REST-API-Konfiguration können Sie auch zusätzliche Config-Elemente hinzufügen, z. B. den HTTP-Autorisierungs-Manager, für Fälle, in denen Sie Ihre spezifischen Autorisierungsdetails angeben müssen.
Schritt 3: Testen von Samplern
Für einen SOAP-API-Auslastungstest sollten Sie den HTTP Request Samplerhinzufügen. In diesem Fenster können Sie die entsprechenden Details eingeben, z. B. Servername oder IP, Pfad, HTTP-Anforderung, Portnummersowie die Textdaten der SOAP-Anforderung.
Schritt 4: Testen von Listenern und Ausführen von Tests
Nachdem Sie den Testplan konfiguriert haben, wird das letzte Element in der Liste zum Hinzufügen Ihrer Listener erstellt, wodurch die Testergebnisse angezeigt werden. Auch hier können Sie befürworte, so viele Listener wie sie möchten und je nach Bedarf für den SOAP-API-Auslastungstest.
Schritt 5: Ausführen des SOAP-API-Auslastungstests
Sobald die Konfiguration und die Einstellungen des Testplans festgelegt wurden, können Sie den SOAP-API-Auslastungstest endlich ausführen und die Ergebnisse überprüfen, sobald er abgeschlossen ist.
Keine Kreditkarte, kein Vertrag.
Das richtige Leistungstesttool kann den Unterschied ausmachen. Und obwohl es an kostenlosen, Open-Source- und kostenpflichtigen Performance-Test-Tools und -Lösungen nicht mangelt, kommt es wirklich darauf an, was am besten zu Ihren Anforderungen, dem Know-how Ihres Teams und ihrem Budget passt. Open-Source-Leistungstesttools wie JMeter sind zwar kostenlos, können aber einige der Anforderungen an Leistungstests, die die heutigen Anwendungen erfordern, nicht erfüllen.
LoadView
LoadView ist heute eine der bestbezahlten Performance-Testlösungen auf dem Markt. Die Lösung bietet viele Funktionen, wie z. B. einen Point-and-Click-Skriptrecorder, den Zugriff auf ein globales Netzwerk von Lastinjektorservern und die Möglichkeit, verschiedene Lastkurvenszenarien für mehr Testflexibilität einzurichten. Im Gegensatz zu JMeter sind keine zusätzlichen Infrastrukturen oder Überlegungen erforderlich. Alles wird für Sie verwaltet. Und im Gegensatz zu JMeter, das nur Auslastungstests auf Protokollebene bereitstellen kann, verwendet LoadView echte Browser, sodass Sie die tatsächliche Leistung für Ihre wichtigsten Sites, Anwendungen und APIs beobachten können. LoadView bietet auch mehrere Optionen, z. B. die Whitelisting statischer Proxy-IPs oder die Verwendung eines Lokalen-Agenten, um Tests für Anwendungen hinter Ihrer Firewall auszuführen, was Ihnen und Ihren Teams noch mehr Flexibilität bei Leistungstests bietet.
WebLoad
WebLoad von RadView ist eine weitere kommerziell basierte oder kostenpflichtige Performance-Testlösung, auf die Sie stoßen können, wenn Sie nach dem richtigen Auslastungstesttool für Sie und Ihr Team suchen. Je nach Ihren spezifischen Anforderungen bietet WebLoad verschiedene Optionen: ein selbst gehostetes Modell oder ein cloudbasiertes Modell. Unabhängig davon, welche Option Sie wählen, hat die Software das gleiche Aussehen und Gefühl.
Beim Erstellen von Testskripts verwendet WebLoad-Skripts Selenium als Proxy-basierten Recorder für Skript-Auslastungstestszenarien, die jedoch schwierig zu verwenden sind, wenn Sie mit Selenium nicht vertraut sind. Selen allein hat seine Nachteile, aber das ist, wo WebLoad kommt, um Lasttests Fähigkeiten, wie eine große Anzahl von gleichzeitigen Benutzern, Berichterstellung, technischen Support und vieles mehr. Was preise und Pläne betrifft, sind die Preise auf ihrer Website nicht verfügbar, daher müssen Sie sie für Preise kontaktieren. Darüber hinaus sind ihre Pläne auf drei Optionen beschränkt: Testversion, Professional und Enterprise. Ihr Professional-Plan bietet nur drei Lastgeneratoren. Um auf unbegrenzte Standorte zuzugreifen, müssen Sie den Enterprise-Plan auswählen.
Auberginen
Eggplant von Keysight Technologies ist eine Automatisierungsplattform, die für alle Faktoren des Softwareentwicklungsprozesses entwickelt wurde, wie funktionstechnische Tests und Überwachung. Die Lösung bietet KI-unterstützte Tests, um die Testzeit zu verkürzen und eine schnellere Bereitstellung von Softwareanwendungen zu ermöglichen.
Eggplant Performance erfordert einige Schulungen, vor allem für unerfahrene Benutzer. Ihr Skripttool fungiert als Proxy-Recorder, um den gesamten HTTP-Datenverkehr zwischen Server/Client zu erfassen. Benutzer haben zusätzliche Optionen, z. B. das Importieren von Skripts aus Selenium- oder HAR-Dateien (HTTP-Archiv). In Bezug auf die Preise im Vergleich zu anderen Auslastungstest-Tools, gibt es keine Preise aufgeführt, so müssen Sie sein Team für ein Angebot kontaktieren, aber sie bieten eine kostenlose Testversion.
Stress-Stimulus
Stress Stimulus ist eine Lösung für Last- und Stresstests, mit der Websites, Webanwendungen und APIs getestet werden können. Das Produkt muss auf einen lokalen Computer heruntergeladen werden, kann jedoch so konfiguriert werden, dass es über die Cloud ausgeführt wird, unabhängig davon, ob es sich um Lastgeneratoren handelt, die auf Ihren eigenen Computern, in der privaten Cloud oder in öffentlichen Cloudnetzwerken wie AWS (Amazon Web Services) oder Azure instanziiert oder lokal von einem einzigen Computer installiert werden.
Das Tool bietet eine Vielzahl von Vorteilen und Funktionen, z. B. das Erstellen von Auslastungstestskripts/-szenarien aus dem Browser mit einem Test-Assistenten, die Unterstützung für viele Protokolle und Webanwendungstechnologien und die Unterstützung für grundlegende Authentifizierungsmethoden. Stress Stimulus arbeitet auch mit Fiddler zusammen, um Leistungstests und Debuggen zu kombinieren. Stress Stimulus bietet mehrere Produkteditionen, z. B. Free, Pro, Enterprise und Service Provider, und jede Edition ermöglicht Benutzern den Zugriff auf bestimmte Funktionen und Vorteile.
Gatling
Gatling ist ein weiteres beliebtes Open-Source-Lasttest-Tool. Wie JMeter gibt es es auch in der Performance Testing-Branche schon sehr lange. Gatling nutzt ein paar verschiedene Technologien im Kern: Scala, Netty und Akka, die möglicherweise nicht etwas sind, das die meisten Entwickler oder Teams kennen.
In der Regel sind Frameworks wie Python, JavaScript, PHP, C und andere einige der gebräuchlicheren Frameworks, die Sie sehen würden. Trotzdem ist Gatling immer noch beliebt und weit verbreitet, da Scala auf den meisten Systemen laufen kann. Einige der Vorteile von Gatling, einschließlich des Erstellens von Auslastungstests als Code, ausführen mehrerer virtueller Benutzer in einem einzelnen Thread (im Gegensatz zu JMeter) und können in CI-Umgebungen integriert werden. Trotz dieser Vorteile ist Gatling in der Anzahl der von ihm unterstützten Technologien und Protokolle begrenzt, bietet keine benutzerfreundliche Schnittstelle (was möglicherweise kein Faktor ist, wenn Ihr Team technischer ist), und da es sich um eine Open-Source-Lösung handelt, hat es eine kleinere Community von Mitgliedern, die Ihre Fähigkeit einschränken kann, Hilfe oder Support zu erhalten, wenn Sie es benötigen.
LoadRunner
LoadRunner von MicroFocus ist eine weitere Legacy-Lasttestlösung, von der viele Entwickler und Teams gehört haben oder sogar verwendet haben, wie es sie schon lange gibt. Im Laufe der Zeit haben sich die Funktionalität und die Namen geändert. Derzeit gibt es drei verschiedene LoadRunner-Pakete: LoadRunner Professional, LoadRunner Enterprise und LoadRunner Cloud (früher StormRunner).
Zu den Funktionen und Vorteilen von LoadRunner gehören die Unterstützung von über 50 Web- und mobilen Anwendungstechnologien und -frameworks, die Unterstützung von über 50 Skripttechnologien sowie Integrationen mit vielen DER CI -Tools (Continuous Integration) und Tools für die Zusammenarbeit, die Ihr Team bereits verwendet. LoadRunner und seine Produkt- und Lösungsfamilie waren schon immer eher eine Load-Testing-Lösung auf Unternehmensebene, sodass die Kosten für diese Lösungen und die damit verbundenen Lösungen im Vergleich zu anderen Cloud-basierten Lasttesttools recht hoch sein werden.
Heuschrecke
Locust ist ein Open-Source-Lasttesttool, das auf dem Python-Framework basiert. Wie bei anderen Open-Source-Tools, die wir besprochen haben, ist der Vorteil von Locust, dass eine Möglichkeit zum Erstellen von Auslastungstests im Code besteht, da es jedoch keine Benutzeroberfläche gibt, es keine Funktionalität für einen benutzerfreundlichen Skriptrecorder gibt, wie es die LoadView-Lösung bietet, und es erfasst und unterstützt nur HTTP-Protokollantworten. Sie eignet sich nicht zum Verständnis der Leistung auf Clientebene.
Wenn Sie jedoch über ein sachkundiges Team verfügen, das mit Python vertraut ist, und wenn Sie kleinere Auslastungstests ausführen, ist dies kein Problem. Darüber hinaus müssen Sie mit Locust im Gegensatz zu Cloud-basierten Auslastungstestplattformen Ihren lokalen Computer zum Ausführen verteilter Tests verwenden, und wenn es die Anzahl gleichzeitiger Benutzer nicht unterstützen kann, müssen Sie zusätzliche Computer verwenden.
BlazeMeter
BlazeMeter ist ein kostenpflichtiges, SaaS-basiertes Funktions- und Leistungstesttool, das auf den Open-Source-Funktionen von JMeter aufbaut und seine Funktionen erweitert, wie z. B. das Skalieren von Lasttests, den Zugriff auf externe Lastinjektoren, umfassende und leicht lesbare Berichte und Dashboards sowie Unterstützung für andere Open-Source-Plattformen wie Gatling, Selen, Locust, Cucumber und mehr.
Benutzer erhalten die Vorteile der Verwendung eines kostenlosen Open-Source-Tools mit einigen der Vorteile von Auslastungstests aus der Cloud. Einige der Funktionen, die in allen LoadView-Plänen enthalten sind, wie z. B. ein benutzerfreundliches Point- und Click-Skriptrecorder, Tests hinter der Firewall und 24/7-Unterstützung, sind jedoch nur innerhalb der höherstufigen BlazeMeter-Pläne zugänglich.
Keine Kreditkarte, kein Vertrag.
Wir haben bereits über einige der beliebtesten JMeter-Alternativen gesprochen, aber jetzt vergleichen wir Gatling, JMeter und LoadView, und welche wir für die am besten geeigneten für Last- und Stresstests von Webanwendungen, Websites und APIs halten.
Auswahl des richtigen Leistungstesttools: Gatling vs. JMeter vs. LoadView
Wenn es darum geht, das richtige Leistungstest-Tool zu wählen, gibt es immer bestimmte Vor- und Nachteile, die jedes Tool bietet. Gatling und JMeter sind beide beliebte Open-Source-Tools, die die Möglichkeit bieten, mehr Anpassungen und Änderungen durch Entwicklungsteams zu ermöglichen. Das bedeutet jedoch, dass es möglicherweise mehr von einer Lernkurve gibt, wenn Sie und Ihr Team gerade mit diesen Tools beginnen. Die Flexibilität der Skripterstellung kommt oft mit zusätzlichen Konfigurationen, die am Ende zeitaufwändiger werden können als beabsichtigt. Auf der anderen Seite ist LoadView eine vollständig verwaltete cloudbasierte Performance-Testlösung, die browserbasierte Tests ausführen kann und Skripting von echten Browsern unterstützt, eine Funktion, die JMeter und Gatling nicht bieten. Da gatling und JMeter auf einem lokalen Gerät installiert sind, ist die Ausführung umfangreicher Tests aufgrund von Systemeinschränkungen schwierig.
Vorteile eines browserbasierten Auslastungstesttools
Ein browserbasiertes Auslastungstesttool wie LoadView bietet viele funktionen und Vorteile, die Open-Source-Tools nicht bieten können. Wenn Sie beispielsweise Webanwendungen laden, verwendet LoadView den EveryStep Web Recorder, mit dem Benutzer Skripts (Desktop- und mobile Browser) erstellen können, indem sie einfach durch die Anwendung oder Seite navigieren, wie Sie es ihren Benutzern wünschen. Es gibt keine Codierung oder manuelle Skripterstellung, wie JMeter und Gatling erfordern, aber wenn Sie das Skript in irgendeiner Weise anpassen müssen, können Sie dies tun. Die Einrichtung und Testkonfiguration ist ebenfalls einfach und unkompliziert.
Die LoadView-Lösung führt Sie durch jeden Schritt des Prozesses, sodass Sie und Ihre Teams sich auf die Testausführung konzentrieren können. Schließlich haben LoadView-Benutzer Zugriff auf mehr als 20 Lastinjektorserver auf der ganzen Welt, sodass Sie durch Tests von Standorten, an denen sich Ihre Benutzer befinden, realistischere Leistungsdaten erhalten als die Erfassung von HTTP-Antworten von Ihrem lokalen Computer. Zeigen Sie Berichte, Dashboards und Wasserfalldiagramme an, um zu verstehen, wie Ihre Anwendung, Website oder API auf den Auslastungstest reagiert hat.
BlazeMeter im Vergleich zu JMeter im Vergleich zu LoadView
Wie wir in den vorherigen Abschnitten dieses Handbuchs erläutert haben, ist BlazeMeter die cloudbasierte Auslastungstestversion von JMeter, die Entwicklern die Möglichkeit bietet, ihren Auslastungstest auf die nächste Stufe zu heben, und die Einschränkungen von JMeter zu beseitigen, wie z. B. Reporting, Skripting/Protokollunterstützung und das Testen komplexer Webanwendungen. BlazeMeter und LoadView sind beide cloudbasierte Auslastungstestplattformen, mit denen Entwickler und Teams ihre Auslastungstests skalieren und von mehreren Geostandorten aus ausführen können. Im Vergleich zu einer Lösung wie LoadView ist BlazeMeter jedoch eine komplexe und teure Lösung, die mehr als nur Lasttestfunktionen bietet und jetzt Funktionstests sowie API-Tests und -Überwachung als Teil ihrer Pakete und Pläne bietet, was einige Teams möglicherweise für unnötig halten.
Während Open-Source-Lasttest-Tools wie JMeter immer noch einen Platz in Leistungstests haben, werden Webanwendungen und -technologien immer komplexer, weshalb eine Lösung wie LoadView ideal ist. LoadView unterstützt alle gängigen Protokolle, Frameworks und Browser, verschiedene Lastkurvenoptionen für realistischere Tests und ist im Vergleich zu anderen Cloud-basierten Lösungen auf dem Markt eine kostengünstige Lösung.
Alles aus einer praktischen Lasttestlösung.
Die ultimativen JMeter FAQ
Leistungstests sind ein wichtiger Teil des Anwendungsentwicklungsprozesses. Open-Source-Tools wie JMeter bieten Entwicklern und Teams eine kostenlose und einfache Möglichkeit, protokollbasierte Auslastungstests durchzuführen. Nicht nur das, sondern Leistungstests stellen auch sicher, dass sich der Zeit- und Aufwand, der in die Entwicklung von Webanwendungen gesteckt wurde, auszahlt, wenn sie vor Ihren Benutzern gestellt werden. Das langsame Laden von Anwendungen, Standorten und APIs beeinträchtigt ihre Erfahrung. JMeter ist ein Auslastungstesttool, das schon sehr lange besteht und über umfangreiche Funktionen, Funktionen und Konfigurationsüberlegungen verfügt.
Im Folgenden finden Sie einige häufig gestellte Fragen und Antworten zu JMeter.
Inhaltsverzeichnis
- Was ist die JMeter-Anlaufphase?
- Was ist ein JMeter JSON-Extraktor und wie funktioniert er?
- Kann ich JMeter in einem Befehlszeilenformat verwenden?
- Was ist der maximale Durchsatz für JMeter?
- Ist JMeter das beste kostenlose Auslastungstesttool?
- Was sind die am besten bezahlten Alternativen zu JMeter?
- Wie installiere ich JMeter?
- Wie lade ich den Test mit JMeter?
- Was ist ein gutes Beispiel für jMeter BeanShell-Assertion?
- Gibt es eine JMeter-Onlinezertifizierung?
- Kann JMeter eine JSON-Antwort analysieren?
- Können Sie JMeter mit Jenkins und Maven verwenden?
- Was ist ein JMeter-Postprozessor?
- Was ist eine JMeter-Prev-Variable?
- Benötigt JMeter ein Proxyzertifikat?
- Wie verhindern Sie, dass JMeter-Sitzungen ablaufen?
- Wo finde ich JMeter-Screenshots?
- Was ist die beste Alternative zu JMeter?
- Lohnt es sich, für ein Auslastungstesttool zu bezahlen?
Was ist die JMeter-Anlaufphase?
Beim Konfigurieren des Auslastungstests in JMeter ist eines der Felder, die Benutzer berücksichtigen müssen, der Anlaufzeitraum. Der Hochlaufzeitraum ist die Zeitspanne, die benötigt wird, um die Anzahl der Benutzer oder Threads zu erreichen, die Sie im Test festgelegt haben. Wenn Sie z. B. die Anzahl der Threads auf fünf festlegen und der Anlaufzeitraum 50 Sekunden beträgt, kommt es zwischen den einzelnen Threads zu einer Verzögerung von 10 Sekunden. Durch festlegen eines Hochlaufzeitraums wird sichergestellt, dass nicht alle Threads gleichzeitig ausgeführt werden, und eine zu hohe Arbeitslast zu Beginn des Tests wird vermieden.
Was ist ein JMeter JSON-Extraktor und wie funktioniert er?
Der JMeter JSON (JavaScript Object Notation) Extractor, oder wie er mit JMeter genannt wird, der JSON Postprozessor, funktioniert genau so, wie der Name schon sagt. Es ermöglicht Benutzern, Daten oder Textinhalte aus JSON-Antworten zu extrahieren und diese mit der Anforderung zu vergleichen oder diese Werte an eine andere Anforderung weiterzugeben. Wir haben vorhin in diesem Handbuch über JMeter Sampler gesprochen, die die eigentliche Arbeit Ihres JMeter-Tests ausführen. Wenn Sie den JSON-Extraktor verwenden, muss dieser als untergeordnetes Element unter dem von Ihnen angegebenen Sampler erstellt werden.
Kann ich JMeter in einem Befehlszeilenformat verwenden?
Der Auslastungstestplan in JMeter wird im GUI-Modus (Graphical User Interface) erstellt. Nachdem der Test erstellt wurde, kann der Test selbst im CLI-Modus (Command Line Interface) ausgeführt werden, der zuvor als Nicht-GUI-Modus bezeichnet wurde. Das Ausführen des Tests im CLI-Modus verbraucht weniger Arbeitsspeicher, daher können mehr Threads auf einem Lastgenerator verwendet werden.
Was ist der maximale Durchsatz für JMeter?
Die Menge des Durchsatzes, die JMeter verwenden kann, hängt von der Hardware Ihres lokalen Computers ab. Sie können den Durchsatz durch Versuch und Fehler ermitteln und die Anzahl der Benutzer oder Threads erhöhen, und wenn Sie Fehlermeldungen über das Erreichen Ihrer Speicherkapazität erhalten. Es gibt einige Problemumgehungen, um die Anzahl der Benutzer zu erhöhen, z. B. die Ausführung im CLI-Modus, das Erhöhen des Heapspeichers oder des Arbeitsspeichers, die LAN-Verbindung (Local Area Networks) anstelle von Wi-Fi oder das Ausführen von Skripts auf anderen Computern.
Ist JMeter das beste kostenlose Auslastungstesttool?
Während JMeter eines der beliebtesten kostenlosen Open-Source-Lasttest-Tools ist, gibt es viele andere kostenlose Lasttest-Tools zur Verfügung. Es kommt auf die Anwendungen oder Technologien an, für die Sie Unterstützung benötigen, die Fähigkeiten Ihres Teams und welche Art von Testergebnissen und Berichten Sie benötigen. Es gibt viele Tools, die verschiedene Skriptframeworks und Erweiterbarkeitsfeatures verwenden. Die kostenpflichtigen Lasttestlösungen sind in der Regel vollständiger und beseitigen einen Großteil des Ärgers, Lasttests manuell erstellen und konfigurieren zu müssen.
Was sind die am besten bezahlten Alternativen zu JMeter?
Heute haben Entwicklungsteams und Leistungstester viele kostenlose und kostenpflichtige Alternativen zu JMeter. Einige davon wurden in den obigen Abschnitten erläutert, z. B. LoadView, WebLoad, BlazeMeter und LoadRunner. Einige der Vorteile, die kostenpflichtige Tools gegenüber Open-Source-Tools haben, sind, dass sie die Zeit für die Konfiguration und Skriptauslastungstests reduzieren, in der Regel mehr Technologien und Frameworks unterstützen, Zugriff auf mehr Lastgeneratoren bieten, sodass Sie das Netzwerk nicht verwalten müssen, und dedizierteunterstützung.
Wie installiere ich JMeter?
Die Installation von JMeter ist jedoch einfach und einfach, da es auf einem lokalen Computer installiert werden muss, muss der Computer, auf dem Sie JMeter installieren, bestimmte Systemanforderungen erfüllen. Da JMeter eine Java-Anwendung ist, müssen Sie außerdem eine kompatible oder aktuelle Version von Java installiert haben. JMeter bietet ein paar verschiedene Binär- und Quelldateien für Benutzer zur Auswahl.
Wie lade ich den Test mit JMeter?
Es gibt mehrere Schritte, um Tests mit JMeter zu laden, und diese Schritte können unterschiedlich sein, je nachdem, was es ist Ihr Test. Wir haben in den vorherigen Abschnitten dieses Handbuchs ausführlich den Prozess der Einrichtung von Auslastungstests mit JMeter erläutert, aber der Einfachheit halber sind dies die Schritte für Auslastungstests mit JMeter:
- Konfigurieren Sie den Auslastungstestplan.
- Hinzufügen und Konfigurieren ihrer Threadgruppe.
- Aufnahme-Controller
- Anzahl der Threads (Benutzer)
- Ramp-Up-Periode
- Schleifenanzahl (Iterationen)
- Test Script Recorder (bei Aufzeichnung von Benutzerinteraktionen)
- Netzwerkeinstellungen
- Installationszertifikat
- Browsereinstellungen
- Hinzufügen und Konfigurieren des Samplers
- HTTP-, FTP-, SMTP- oder TCP-Anforderungen usw.
- Servername oder IP
- URL-Pfad
- Listener hinzufügen und konfigurieren
- Zusammenfassungsbericht, Aggregiertes Diagramm, Ergebnisstruktur anzeigen, Ergebnisse in Tabelle anzeigen usw.
- Ausführen des Tests
- Sammeln und Anzeigen von Testergebnissen.
Was ist ein gutes Beispiel für jMeter BeanShell-Assertion?
Innerhalb von JMeter können Benutzer integrierte BeanShell-Komponenten verwenden. BeanShell ist ein Open-Source-Java-basierter Interpreter. BeanShell bietet Benutzern mehrere Vorteile, wie z. B. Anwendungs- und Skripterstellung, Debuggen und dynamisches Arbeiten mit Java-Objekten und APIs. Es gibt viele Assertionen, die JMeter je nach Testszenario unterstützt. Mit der BeanShell-Assertion in JMeter können Benutzer bestimmte Assertionen mithilfe eines BeanShell-Skripts überprüfen. Ein Beispiel hierfür wäre zu überprüfen, ob ein Server eine bestimmte Antwort oder Zeichenfolge oder einen Wert in einem JSON-Feld zurückgibt. Es gibt auch vordefinierte Variablen, die in das Skript implementiert werden können, z. B. FailureMessage, SamplerData, SampleResult usw. In JMeter wird darauf hingewiesen, dass Benutzer zu JSR223-Testelementen wechseln und von BeanShell zu Groovy-Funktionen wechseln sollten.
Gibt es eine JMeter-Onlinezertifizierung?
Es gibt keine offizielle JMeter Online-Zertifizierung über die JMeter-Website selbst, jedoch gibt es JMeter Online-Zertifizierungen durch andere Unternehmen, wie BlazeMeter, Udemy, VSkills, Edureka, und andere. Es gibt auch einige großartige Tutorials von normalen JMeter-Benutzern auf YouTube, auf die zugegriffen werden kann, um Sie durch bestimmte Schritte zu führen oder probleme zu beheben.
Kann JMeter eine JSON-Antwort analysieren?
Während der Erstellung und Einrichtung des Testplans in JMeter haben Benutzer die Möglichkeit, aus mehreren Postprozessoren auszuwählen. Einer davon enthält den JSON Extractor. Diese Funktion ermöglicht es Benutzern, die spezifischen Daten, die Sie benötigen, mithilfe der JSON-PATH-Syntax abzuziehen und wird nach Sampler (als untergeordnetes Element) konfiguriert. Es gibt mehrere Attribute im JSON-PATH Post-Processor-Fenster, wie Name, Variablennamen, JSON-Pfadausdrücke, Übereinstimmungszahlen, Compute-Verkettung var, etc.
Können Sie JMeter mit Jenkins und Maven verwenden?
JMeter kann mit CI/CD- und Management-Tools wie Jenkins und Maven verwendet werden. Jenkins, wie JMeter ist auch ein Open-Source-Java-basiertes Tool, so dass Benutzer ihre Tests zu automatisieren. Maven wird zum Erstellen und Verwalten von Java-basierten Projekten verwendet. Für die Verwendung von JMeter mit Jenkins müssen Sie ein aktives Jenkins-Konto (sowie die Installation des Git-Plugins) und Jenkins auf demselben Computer installiert haben, auf dem Sie JMeter installiert haben. Ihre JMeter-Skripte sollten in Git gespeichert werden, damit sie über Jenkins aufgerufen werden können. Sobald Sie Ihre Konten miteinander verknüpft haben, können Sie den Prozess der Konfiguration und Erstellung Ihres Tests über Jenkins durchlaufen. Mit Maven bietet JMeter ein Plugin, auf das über GitHub zugegriffen werden kann, sodass Benutzer Tests über Ihr Maven-Projekt ausführen können, anstatt sie als Skripte auszuführen.
Was ist ein JMeter-Postprozessor?
Innerhalb des JMeter-Auslastungstest-Setups gibt es Vorprozessoren und Postprozessoren. Preprozessoren führen eine Aktion vor einer Sampler-Anforderung aus, z. B. das Abrufen von Daten von der Webseite. Andererseits wird ein Postprozessor nach einem Sampler-Element ausgeführt und wird in der Regel zum Extrahieren oder Analysieren von Daten aus der HTTP-Antwort verwendet.
Was ist eine JMeter-Prev-Variable?
Die prev-Variable ist eine von mehreren Variablen, die in Apache Groovy-Skripten verwendet werden, bevor das Skript ausgeführt wird. Weitere Beispiele sind log (Logger), ctx (JMeterContext-Objekt), vars (JMeterVariables-Objekt), Requisiten (JMeterProperties), threadNameund sampler, um nur einige zu nennen. Die prev-Variable kann in JSR223-Postprozessoraktionen verwendet werden, z. B. beim Abrufen bestimmter Informationen, z. B. Verbindungszeit, Latenz, Bytes, URL-Informationen usw. für eine HTTP-Anforderungsthreadgruppe.
Benötigt JMeter ein Proxyzertifikat?
Bei der Verwendung des JMeter HTTP(S)-Testskript-Recorders müssen Benutzer verschiedene Konfigurationsschritte durchlaufen, um diese Funktion verwenden zu können. Einer dieser Schritte besteht darin, den JMeter-Proxyserver so zu installieren, dass Aktionen aus dem Browser skripten. Dazu müssen JMeter-Benutzer ein JMeter CA-Zertifikat (Certificate Authority) installieren. HTTP/S-Verbindungen verwenden Zertifikate, um Verbindungen zwischen Servern und Clients/Browsern zu authentifizieren. Durch die Installation des JMeter CA-Zertifikats kann JMeter als Server fungieren, sodass die HTTPS-Antworten (Hypertext Transfer Protocol Secure) aus dem Browser abgerufen werden können.
Wie verhindern Sie, dass JMeter-Sitzungen ablaufen?
Innerhalb jedes der verschiedenen JMeter-Sampler gibt es spezifische Konfigurationsoptionen, einschließlich der Einstellung verschiedener Timeoutparameter, wie Verbindungstimeout, Lesetimeout, Antworttimeout, Abfragetimeouts usw. Wenn der Sampler keine Timeouts unterstützt, sollte er lang genug eingestellt werden, damit während eines Auslastungstests kein Timeout ausgeführt wird.
Wie verhindern Sie, dass JMeter-Sitzungen ablaufen?
JMeter-Screenshots von Beispieltests, Dialogfeldern, Schritten und allen JMeter-Testelementen finden Sie im gesamten Abschnitt JMeter-Website, JMeter Wiki und JMeter FAQ sowie IT-Lern- und Ressourcenhubs von Drittanbietern wie GitHub, GitLab, Guru99 und Bitbucket. JMeter verfügt über eine umfassende Wissensbasis für Inhalte und community-gestützten Support.
Was ist die beste Alternative zu JMeter?
Ein Open-Source-Lasttesttool wie JMeter erfordert umfassende Kenntnisse in JMeter und Programmierkenntnissen sowie ein erfahrenes Team zum Einrichten und Ausführen von Tests. JMeter war einer der frühen Pioniere des Auslastungstests, aber Websites, Anwendungen und APIs sind komplexer geworden, und neue Tools, Lösungen und Technologien für Lasttests sind erforderlich. Wir haben viele der Alternativen, Open-Source und bezahlt, zu JMeter in diesem Handbuch diskutiert, wie Gatling, LoadView, WebLoad, LoadRunner, Locust und BlazeMeter. Während eine kostenlose, Open-Source, Option mag auf den ersten attraktiv erscheinen, es kommt mit einer Menge zusätzlicher manueller Konfiguration und Arbeit. Eine webbasierte Lösung wie LoadView ermöglicht es Testern und Teams, sich auf Auslastungstests mit echten Browsern zu konzentrieren, und erspart ihnen die Belastungen, die mit der Verwaltung von Lastinjektoren und zusätzlicher Hardware verbunden sind. LoadView unterstützt die neuesten Protokolle und Technologien, unterstützt Tools von Drittanbietern wie Postman und stellt ein Netzwerk von Cloud-Ladeinjektorenservern aus der ganzen Welt bereit.
Lohnt es sich, für ein Auslastungstesttool zu bezahlen?
Es gibt viele großartige Open-Source-Lasttesttools, und wir haben einige davon in diesem Handbuch erläutert. Es ist schwierig, ein kostenloses Tool zu übergeben, Open-Source-Lösungen können nicht alle Funktionen bieten, sofort, die Sie benötigen. Viele der kostenpflichtigen Auslastungstesttools unterstützen mehrere Protokolle, Integrationen von Drittanbietern, skriptgesteuerte Tools und mehrere Preispläne sowie jederzeit Zugriff auf Support. Darüber hinaus ist es, wie wir bei JMeter gesehen haben, ein äußerst komplexes Werkzeug, das viel Wissen erfordert. Es sind viele Schritte zum Einrichten des Testplans und verschiedene Konfigurationen erforderlich. Wenn Sie JMeter noch nicht verwendet haben, kann es einige Tests dauern, um es genau richtig zu machen. Bezahlte Auslastungstesttools führen Sie in der Regel Schritt für Schritt durch den Prozess, sodass Sie am Ende des Testplans fertig sind. Sie müssen keine zusätzliche Zeit mit der Erstellung weiterer Tests oder der Erneutkonfiguration des Tests verschwenden. Wenn Sie ein Tool finden, das die Technologien unterstützt, die Sie testen müssen, großartige Feature-Sets und alles innerhalb Ihres Budgets, lohnt es sich, für ein Auslastungstesttool zu bezahlen.
Unsere Load Testing-Lösung LoadView bietet Benutzern branchenbasierte Cloud-basierte Auslastungstests in einem kostengünstigen Paket. Im Gegensatz zu JMeter, das kein echter Browser ist, werden nur protokollbasierte Tests verwendet, was, wie wir in diesem Handbuch besprochen haben, für die heutigen Websites und Anwendungen nicht ausreicht. Ein Großteil der Leistungsausführung wird jetzt an Browser übertragen, daher ist es wichtig, eine Lösung zu haben, die echte Benutzeraktionen innerhalb des Browsers skripten, ausführen und simulieren kann. JMeter kann keine JavaScript- und daher AJAX-Anforderungen (Asynchronous JavaScript und XML) ausführen, was für viele Leistungstester ein großer Nachteil ist. LoadView unterstützt zusammen mit dem EveryStep Web Recorder dynamische Webanwendungstechnologien wie JavaScript, AJAX, Java, HTML5, PHP und mehr. Das Erstellen von Lasttestskripts ist so einfach wie das Navigieren durch Ihre Anwendungen wie ein normaler Benutzer. Darüber hinaus bietet die LoadView-Plattform Benutzern ein weltweites Netzwerk von Cloud-basierten Lastgeneratoren, nicht von Ihrem lokalen Rechner erzeugte Last, wie JMeter bietet, was realistischere Bedingungen und damit bessere Test- und Berichtsergebnisse bietet.
Wie geht JMeter mit dynamischen Daten in Lasttests um?
JMeter kann dynamische Daten in Lasttests mit verschiedenen Elementen wie Regular Expression Extractor oder JSON Extractor effektiv verarbeiten. Diese Elemente ermöglichen es JMeter, dynamische Daten aus der Antwort eines Servers zu erfassen und in nachfolgenden Anforderungen wiederzuverwenden. Dies ist entscheidend für das Testen von Anwendungen, bei denen sich Sitzungs-IDs oder Sicherheitstoken bei jeder Anforderung ändern.
Kann JMeter mit anderen Tools für erweiterte Tests integriert werden?
Ja, JMeter kann in eine Vielzahl anderer Tools integriert werden, um seine Testmöglichkeiten zu verbessern. Es kann beispielsweise mit Selenium für browserbasierte Tests verwendet oder in Überwachungstools wie Grafana und Prometheus integriert werden, um eine tiefergehende Analyse von Leistungskennzahlen durchzuführen. Dies macht JMeter zu einer vielseitigen Wahl für verschiedene Testumgebungen.
Was sind JMeter-Timer und wie wirken sie sich auf Lasttests aus?
JMeter Timer sind eine wichtige Komponente bei der Simulation des realen Benutzerverhaltens. Sie führen zu Verzögerungen zwischen Anforderungen, was dazu beitragen kann, realistischere Auslastungsszenarien zu erstellen. Zu den Arten von Zeitgebern gehören konstante Timer, Gaußsche Zufallstimer und einheitliche Zufallstimer, die jeweils unterschiedliche Möglichkeiten bieten, die Denkzeit des Benutzers zu simulieren.
Wie verwalte ich Cookies und Sitzungen in JMeter?
JMeter stellt den HTTP-Cookie-Manager und den HTTP-Cache-Manager zur Verfügung, um Cookies bzw. Cache zu verarbeiten. Diese Manager helfen bei der Simulation eines echten Browsers, indem sie Cookies wie ein normaler Webbrowser speichern und senden. Sie sind für die Aufrechterhaltung von Sitzungen und die Verwaltung von Benutzerzuständen während Auslastungstests unerlässlich.
Was sind einige bewährte Methoden für die Skripterstellung in JMeter?
Bei der Skripterstellung in JMeter wird Folgendes empfohlen:
Verwenden Sie Namenskonventionen zur einfachen Identifizierung von Elementen.
Modularisieren Sie Tests mithilfe von Testfragmenten für die Wiederverwendbarkeit.
Parametrisieren Sie Tests, um Variablen wie Servernamen und Benutzeranmeldeinformationen einfach zu ändern.
Verwenden Sie Assertionen mit Bedacht, um Antworten zu überprüfen, ohne den Testplan zu überlasten.
Speichern Sie Ihren Testplan regelmäßig, um Datenverluste zu vermeiden.
Kann JMeter unterschiedliche Netzwerkbedingungen simulieren?
JMeter ermöglicht es Ihnen, verschiedene Netzwerkbedingungen mit der Konfiguration “HTTP Request Defaults” zu simulieren. Dies kann Einstellungen für Bandbreite, Latenz und Paketverlust umfassen, sodass Tester nachvollziehen können, wie sich eine Anwendung unter verschiedenen Netzwerkbedingungen verhält.
Wie unterstützt JMeter Datenbanktests?
JMeter unterstützt Datenbanktests über JDBC Request. Auf diese Weise können Sie Testdatenbanken laden, indem Sie SQL-Abfragen, gespeicherte Prozeduren oder andere SQL-Vorgänge ausführen. Dazu müssen Sie eine JDBC-Verbindungskonfiguration einrichten, in der Sie die Datenbankdetails und Anmeldeinformationen definieren.
Was sind JMeter Assertions und wie werden sie verwendet?
Assertionen in JMeter werden verwendet, um die Antwort auf eine Anforderung an den Server zu validieren. Sie helfen bei der Überprüfung, ob die Antwort einen bestimmten Text enthält, mit einem regulären Ausdruck übereinstimmt oder bestimmte Bedingungen erfüllt. Zu den gängigen Assertionen gehören Response Assertion, JSON Assertion und Size Assertion.
Wie verwalten Sie große Testpläne in JMeter?
Für die Verwaltung großer Testpläne in JMeter ist Folgendes wichtig:
Unterteilen Sie den Testplan in kleinere, überschaubare Module.
Verwenden Sie den “Include-Controller”, um externe Testfragmente einzubinden.
Überprüfen und entfernen Sie regelmäßig unnötige Elemente, um die Leistung zu optimieren.
Nutzen Sie die Funktionen und Variablen von JMeter, um Redundanzen zu reduzieren.
Welche Rolle spielt der JMeter Listener und welche werden häufig verwendet?
Listener in JMeter werden verwendet, um die Ergebnisse der Tests anzuzeigen und zu analysieren. Zu den häufig verwendeten Listenern gehören “Ergebnisstruktur anzeigen”, “Zusammenfassungsbericht” und “Diagrammergebnisse”. Sie bieten verschiedene Möglichkeiten zur Visualisierung von Daten und helfen bei der Identifizierung von Leistungsproblemen und Engpässen.
Kann JMeter für Stresstests verwendet werden und wie?
Ja, JMeter kann für Belastungstests verwendet werden, indem es so konfiguriert wird, dass es eine Last erzeugt, die über die normale Kapazität der Anwendung hinausgeht. Dies hilft dabei, die Sollbruchstelle des Systems zu identifizieren und zu verstehen, wie es sich unter extremen Bedingungen verhält.
Ist es möglich, JMeter-Tests zu automatisieren?
JMeter-Tests können über die Befehlszeilenschnittstelle automatisiert werden. Dies ist besonders nützlich für die Integration von JMeter-Tests in Continuous-Integration-Pipelines. Tools wie Jenkins können JMeter-Tests auslösen und so regelmäßige und automatisierte Leistungstests ermöglichen.
Welche Bedeutung haben Threadgruppen in JMeter?
Threadgruppen in JMeter stellen Benutzer oder Threads dar, die eine Reihe von Aktionen ausführen. Sie definieren die Anzahl der zu simulierenden Benutzer, die Anlaufzeit und die Häufigkeit, mit der der Test ausgeführt werden soll. Die richtige Konfiguration von Threadgruppen ist entscheidend für die Simulation realistischer Benutzerszenarien.
Wie debuggt man einen JMeter-Testplan?
Um einen JMeter-Testplan zu debuggen, haben Sie folgende Möglichkeiten:
Verwenden Sie die Protokollanzeige, um während der Testausführung nach Fehlern oder Problemen zu suchen.
Fügen Sie Debug-Postprozessoren hinzu, um die Werte von Variablen und Antworten anzuzeigen.
Verwenden Sie Assertionen, um zu überprüfen, ob Anforderungen die erwartete Antwort zurückgeben.
Erstellen Sie Ihren Testplan nach und nach, indem Sie Elemente nacheinander hinzufügen und testen.
Was ist verteiltes Testen in JMeter und wann wird es verwendet?
Verteiltes Testen in JMeter beinhaltet die Verwendung mehrerer Systeme (Remote-Knoten), um eine größere Last auf dem Server zu erzeugen. Dies ist besonders nützlich, wenn der Test mehr Ressourcen erfordert, als ein einzelner Computer bereitstellen kann, oder wenn Sie Datenverkehr von verschiedenen Standorten simulieren möchten.
Nächste Stufe
Erleben Sie unvergleichliche Funktionen mit grenzenloser Skalierbarkeit. Keine Kreditkarte, kein Vertrag.