Eine Open-Source-Java-Anwendung zur Leistungsmessung und Auslastung von Testanwendungen.
Von der Apache Software Foundation
Apache JMeter kann die Leistung messen und statische und dynamische Webanwendungen auslasten.
Es kann verwendet werden, um eine starke Auslastung eines Servers, einer Servergruppe, eines Netzwerks oder eines Objekts zu simulieren, um dessen Stärke zu testen oder um die Gesamtleistung unter verschiedenen Lasttypen zu analysieren.
Vollständige Portabilität und 100 % Java.
Multithreading ermöglicht das gleichzeitige Sampling durch viele Threads und das gleichzeitige Sampling verschiedener Funktionen durch separate Thread-Gruppen.
Möglichkeit zum Laden und Leistungstesten vieler Anwendungs-/Server-/Protokolltypen:
Voll ausgestattete Test-IDE, die eine schnelle Aufzeichnung von Testplänen (aus Browsern oder nativen Anwendungen), die Erstellung und das Debuggen ermöglicht.
Befehlszeilenmodus (Nicht-GUI/Headless-Modus) zum Laden von Tests von jedem Java-kompatiblen Betriebssystem (Linux, Windows, Mac OSX, ...)
Ein vollständiger und präsentationsbereiter dynamischer HTML-Bericht
Live-Berichte in Datenbanken von Drittanbietern wie InfluxDB oder Graphite
Einfache Korrelation durch die Möglichkeit, Daten aus den gängigsten Antwortformaten, HTML, JSON, XML oder einem beliebigen Textformat, zu extrahieren
Einzelheiten zur neuesten Version finden Sie auf der Website des JMeter Apache Project
Für die Ausführung von Apache JMeter gelten folgende Voraussetzungen:
Java-Interpreter:
Für die Ausführung von Apache JMeter ist eine vollständig kompatible Java 17-Laufzeitumgebung erforderlich. Ein JDK mit dem Dienstprogramm keytool
eignet sich besser zum Aufzeichnen von HTTPS-Websites.
Optionale Gläser:
Einige Jars sind nicht in JMeter enthalten. Bei Bedarf sollten diese heruntergeladen und im lib-Verzeichnis abgelegt werden
Java-Compiler ( OPTIONAL ):
Ein Java-Compiler ist nicht erforderlich, da die Distribution ein vorkompiliertes Java-Binärarchiv enthält.
Beachten Sie , dass zum Erstellen von Plugins für Apache JMeter ein Compiler erforderlich ist.
Beachten Sie , dass Leerzeichen in Verzeichnisnamen zu Problemen führen können.
Release-Builds
Entpacken Sie das Binärarchiv in eine geeignete Verzeichnisstruktur.
bin
Verzeichnisjmeter
(Un*x) oder jmeter.bat
(Windows) aus.Für Windows gibt es auch einige andere Skripte, auf die Sie eine JMX-Datei per Drag-and-Drop ziehen können:
jmeter-n.cmd
– führt die Datei als Nicht-GUI-Test ausjmeter-nr.cmd
– führt die Datei als Remote-Test (Client-Server) ohne GUI ausjmeter-t.cmd
– lädt die Datei, um sie als GUI-Test auszuführen Die zum Zeitpunkt dieser Veröffentlichung verfügbare Dokumentation ist ebenfalls im HTML-Format im Verzeichnis printable_docs enthalten und kann ab der Datei index.html durchsucht werden.
Siehe Problemverfolgung.
Entpacken Sie das Quellarchiv in eine geeignete Verzeichnisstruktur. Die meisten Bibliotheksdateien von Drittanbietern können aus dem Binärarchiv extrahiert werden, indem man es in dieselbe Verzeichnisstruktur entpackt.
Alle optionalen Jars (siehe oben) sollten in lib/opt
und/oder lib
platziert werden.
Jars in lib/opt
werden zum Erstellen von JMeter und zum Ausführen der Komponententests verwendet, werden jedoch nicht zur Laufzeit verwendet.
Dies ist nützlich, um zu testen, was passiert, wenn die optionalen Jars nicht von anderen JMeter-Benutzern heruntergeladen werden.
Wenn Sie sich hinter einem Proxy befinden, können Sie in ~/.gradle/gradle.properties
einige Build-Eigenschaften festlegen, damit Gradle den Proxy verwenden kann:
systemProp.http.proxyHost =proxy.example.invalid
systemProp.http.proxyPort =8080
systemProp.http.proxyUser =your_user_name
systemProp.http.proxyPassword =your_password
systemProp.https.proxyHost =proxy.example.invalid
systemProp.https.proxyPort =8080
systemProp.https.proxyUser =your_user_name
systemProp.https.proxyPassword =your_password
JMeter wird mit Gradle erstellt und verwendet die Toolchains von Gradle für JVM-Projekte zur Bereitstellung von JDKs. Das bedeutet, dass der Code lokal nach den benötigten JDKs sucht oder diese herunterlädt, wenn sie nicht gefunden werden.
Standardmäßig verwendet der Code JDK 17 für Build-Zwecke, setzt die Zielversion jedoch auf 8, sodass die resultierenden Artefakte mit Java 8 kompatibel sind.
Der folgende Befehl erstellt und testet JMeter:
./gradlew build
Wenn Sie ein benutzerdefiniertes JDK zum Erstellen verwenden möchten, können Sie -PjdkBuildVersion=11
festlegen, und Sie können -PjdkTestVersion=21
auswählen, wenn Sie zum Testen ein anderes JDK verwenden möchten.
Durch Ausführen können Sie die verfügbaren Build-Parameter auflisten
./gradlew parameters
Wenn das System keine GUI-Anzeige hat, dann:
./gradlew build -Djava.awt.headless=true
Die Ausgabeartefakte (JARs, Berichte) werden im build
-Ordner abgelegt. Binäre Artefakte sind beispielsweise unter src/dist/build/distributions
zu finden.
Der folgende Befehl würde die Anwendung kompilieren und Ihnen ermöglichen, jmeter
aus dem bin
Verzeichnis auszuführen.
Beachten Sie , dass der Inhalt
lib/
vollständig aktualisiert wird, sodass benutzerdefinierte Plugins entfernt werden, wenn Sie diese inlib/
installiert haben. Es würde jedochlib/ext/
plugins intakt halten.
./gradlew createDist
Alternativ können Sie Gradle dazu bringen, die GUI zu starten:
./gradlew runGui
Das Erstellen und Mitwirken wird ausführlich unter „Building JMeter“ und „CONTRIBUTING.md“ erläutert. Weitere Informationen zu den Aufgaben, die für die Erstellung von JMeter mit Gradle verfügbar sind, finden Sie in gradle.md.
Der Code ist erhältlich bei:
Rechtliche Informationen und Lizenzinformationen finden Sie in den folgenden Dateien:
Diese Distribution kann Software enthalten, die für die Verwendung mit kryptografischer Software entwickelt wurde. Das Land, in dem Sie sich derzeit aufhalten, unterliegt möglicherweise Beschränkungen hinsichtlich der Einfuhr, des Besitzes, der Verwendung und/oder der Wiederausfuhr von Verschlüsselungssoftware in ein anderes Land. Bevor Sie Verschlüsselungssoftware verwenden, prüfen Sie bitte die Gesetze, Vorschriften und Richtlinien Ihres Landes bezüglich der Einfuhr, des Besitzes oder der Verwendung und Wiederausfuhr von Verschlüsselungssoftware, um festzustellen, ob dies zulässig ist. Weitere Informationen finden Sie unter https://www.wassenaar.org/.
Das US-Handelsministerium, Bureau of Industry and Security (BIS), hat diese Software als Export Commodity Control Number (ECCN) 5D002.C.1 klassifiziert, was Informationssicherheitssoftware umfasst, die kryptografische Funktionen mit asymmetrischen Algorithmen verwendet oder ausführt. Die Form und Art dieser Apache Software Foundation-Distribution ermöglicht den Export im Rahmen der Lizenzausnahme ENC Technology Software Unrestricted (TSU) (siehe BIS Export Administration Regulations, Abschnitt 740.13) sowohl für Objektcode als auch für Quellcode.
Im Folgenden finden Sie weitere Einzelheiten zur enthaltenen Software, die möglicherweise Exportkontrollen für kryptografische Software unterliegt:
Apache JMeter stellt eine Schnittstelle zur Java Secure Socket Extension (JSSE) API zur Verfügung
Apache JMeter stellt eine Schnittstelle (über Apache HttpClient4) mit der Java Cryptography Extension (JCE) API zur Verfügung
Apache JMeter enthält keine Implementierung von JSSE oder JCE.
Vielen Dank, dass Sie Apache JMeter verwenden.
Hinweis für mxparser:
Dieses Produkt enthält Software, die von der Indiana University Extreme entwickelt wurde! Labor. Weitere Informationen finden Sie unter http://www.extreme.indiana.edu/