2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Die GUI von jmeter wird hauptsächlich zum Debuggen von Skripten verwendet
Erstellen Sie zunächst ein Skript
Demo: Wie schreibt man eine gemischte Szene?
Verwenden Sie eine Geschäftskennzahl von 211
Datenbankdienste: einschließlich MySQL, Redis
MySQL-Port-Standard 3306
netstat -lntp | grep 3306
Im Überwachungszustand ist 6379 der Standardport von Redis
netstat -lntp | grep 6379
Projektdienstport 18089
netstat -lntp | grep 18089
211 kann in zwei Stresstestdienste umgewandelt werden
Eine besteht darin, sich zu registrieren, die andere darin, sich zu registrieren und anzumelden, um Produkte hinzuzufügen.
Beide sind 50 %
jmeter – Thread-Gruppe hinzufügen-Thread-Benutzer-Thread-Gruppe hinzufügen
Konvertieren Sie zwei Stresstestdienste
jmeter – Add-Logic-Controller – Durchsatzcontroller
Konvertieren Sie zwei Stresstestdienste.
Das erste Stresstest-Geschäft umfasst die Registrierung, Anmeldung und das Hinzufügen von Produkten
Das zweite Stresstest-Geschäft ist die Registrierung
Jeweils 50 %
jmeter-add-sampler-http-request
Konvertieren Sie zwei Stresstestdienste
Schreiben Sie gemäß Registrierungs-Swagger, geben Sie Parameter ein
Im Allgemeinen müssen Sie die ID beim Einfügen nicht angeben.
Addtime muss ebenfalls nicht ausgefüllt werden
Kopieren Sie die Parameterdaten und fügen Sie sie in jmeter ein
Pfad basierend auf der URL
Sie bestehen alle JSON
Geben Sie IP und Port gemäß dem Schnittstellendokument ein
Es ist am besten, Behauptungen hinzuzufügen
-nJmeter im Nicht-GUI-Modus ausführen
-t führt den Speicherort der Testdatei aus. Er befindet sich nicht im aktuellen Pfad.
-l gibt die generierte Ergebnisdatei an, bei der es sich um eine JTL-Datei handelt
-e Generieren Sie nach Abschluss des Tests einen Testbericht
-o gibt den Speicherort des Testbericht-HTML an
-r Fernstart
Installieren Sie JDK und Jmeter unter Linux Press
Unter usr/local installieren
Laden Sie jmeter direkt im Fenster auf die Linux-Presse hoch, da auch die am Debugging-Skript beteiligten Plug-Ins verfügbar sind.
Hinweis: Wenn das Skript eine CSV-Parameterdatei umfasst, müssen Sie die CSV-Parameterdatei in das bin-Verzeichnis von jmeter unter Linux hochladen.
Aggregationsberichte und Listener müssen vor dem Hochladen deaktiviert werden
5 Threads, alle 30 Sekunden einen hinzufügen, also 150
Die Dauer muss größer sein als die Rang-Up-Zeit von 150. Wenn die Dauer weitere 50 Sekunden beträgt, stellen Sie sie auf 200 ein.
Nachdem der Jmeter-Upload erfolgreich war, überprüfen Sie die Jmeter-Version und ob sie verfügbar ist.
Es gibt zwei Orte
Zunächst muss der Pfad zum Speichern des Testskripts ein Verzeichnis zum Speichern des HTML-Berichts erstellen.
Vor der Ausführung des Skripts muss das res-Verzeichnis leer sein
Zweitens bereinigen Sie die Daten in der Datenbanktabelle, ohne die vorhandenen Daten zu berücksichtigen.
Ergebnis
548 Anfragen in 13 Sekunden abgeschlossen
Gesamtbericht öffnen
Die Anzahl der ko-fehlgeschlagenen Anfragen
ReaktionszeitReaktionszeit
tps
Wie kann ich JTL-Dateien anzeigen?
JTL kann in jedem Listener geöffnet werden, z. B. zum Anzeigen des Ergebnisbaums, des Gesamtberichts, der TPS und der Antwortzeit.
Klicken Sie beim Öffnen in einem aggregierten Bericht auf Durchsuchen
Wie TPS, Reaktionszeit
Schauen wir uns zunächst TPS an
TPS hinzufügen
Klicken Sie zum Durchsuchen
Reaktionszeit
Manchmal kann eine einzelne Presse das Ziel nicht erreichen und es ist eine verteilte Presse erforderlich.
Schließlich sind die Ressourcen einer einzelnen Maschine begrenzt und es ist schwierig, eine große Parallelität zu unterstützen. Auch bei Einzelmaschinenpressen gibt es Engpässe.
Offizielle Website:https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
Als Steuerungsmaschine dient eine Servermaschine
Die restlichen Maschinen werden als Lademaschinen eingesetzt
Der vom Ziel angeforderte Dienst
Die Steuerung steuert den Start und Stopp der Lademaschine aus der Ferne durch Senden von Signalen und sammelt gleichzeitig Daten und Zusammenfassungen der Lademaschine
Die Lastmaschine startet hauptsächlich Threads, um auf den Server zuzugreifen und den Server im Stresstest anzuvisieren.
Im Allgemeinen startet der Worker die Jmeter-Server-Steuerungsmaschine, um die Lademaschine fernzusteuern. Die Lademaschine startet den Thread und fordert das Ziel auf, die Daten abzurufen, und sendet sie dann an die Steuerungsmaschine zurück.
Wo werden die Skripte bei der Verteilung abgelegt?
Ein Controller, mehrere Mitarbeiter
Bei der Ausführung ohne GUI wird das Skript an den Server übertragen. Wohin soll das Skript nun übertragen werden?
Das Skript wird an den Controller übertragen, d. h. an jeden Worker, der mit der Ausführung des Skripts beginnt zur Zusammenfassung an die Steuermaschine gesendet.
Die Firewall muss geschlossen sein. Wenn die Firewall nicht geschlossen ist, muss der Port geöffnet werden.
Alle Clients müssen sich im selben Subnetz befinden.
Stellen Sie sicher, dass Jmeter auf den Server zugreifen kann
Stellen Sie sicher, dass die Jmeter- und Java-Versionen identisch sind
SSL deaktivieren
Erfordert 3 virtuelle Maschinen
Verwenden Sie 181 als Controller (Maschine steuern)
Verwenden Sie 182.183 als Arbeiter (Maschine laden)
Gleichzeitig müssen diese drei virtuellen Maschinen JDK und JMETER installieren.
JDK-Version anzeigen
Installieren Sie Jmeter auf drei virtuellen Maschinen
Der Jmeter der lokalen Maschine wird in das Verzeichnis usr/local der virtuellen Maschine übertragen.
Überprüfen Sie nach dem Hochladen die Jmeter-Version
182、182
Sichern Sie zunächst die Konfigurationsdatei jmeter.properties
server_port kann geändert oder nicht geändert werden. Der Standardwert ist 1099.
SSL deaktivieren
server.rmi.ssl.disable=false, ändern Sie false in true
Starten Sie jemter
./jmeter-server
Überprüfen Sie Port 182, um festzustellen, ob er sich im Überwachungsstatus befindet
verifizieren
Stellen Sie eine Telnet-Verbindung zwischen der Steuerungsmaschine und der Lademaschine her, um festzustellen, ob auf den Port zugegriffen werden kann.
Bevor Sie die Steuerungsmaschine konfigurieren, debuggen Sie Jmeter im Fenster.
win: zum Debuggen
Sichern Sie zunächst die Konfigurationsdatei jmeter.properties
Standardmäßig wird diese Maschine als Lademaschine verwendet.
Die aktuelle Lademaschine ist eine Remote-Lademaschine. Ändern Sie remote_hosts=127.0.0.1 in remote_hosts=192.168.117.182:1099
Hier müssen die IP und der Port der Remote-Load-Maschine angegeben werden. Wenn mehrere mehrere sind, trennen Sie sie durch Kommas.
SSL deaktivieren
Ändern Sie server.rmi.ssl.disable=false in server.rmi.ssl.disable=true
Debuggen Sie es zunächst über diesen Computer
Starten Sie jmeter neu und lesen Sie die Konfigurationsdatei erneut
Gehen Sie nach dem Debuggen unter Windows zur Konfiguration zu Linux.
Konfigurieren Sie auf 181
Sichern Sie zunächst die Konfigurationsdatei jmeter.properties
Die aktuelle Lademaschine ist eine Remote-Lademaschine, die dies tutremote_hosts=127.0.0.1
Ändernremote_hosts=192.168.117.182:1099
Hier müssen die IP und der Port der Remote-Load-Maschine angegeben werden. Wenn mehrere mehrere sind, trennen Sie sie durch Kommas.
server.rmi.ssl.disable=false
Willeserver.rmi.ssl.disable=false
Ändernserver.rmi.ssl.disable=true
Wenn das Skript an die Steuermaschine übertragen wird, wird das Skript automatisch an jede Lademaschine verteilt.
Separate Anmeldung für ein einzelnes Testszenario
Führen Sie das Skript nach dem Hochladen aus
Durch Fernladen ausführen
/usr/local/apache-jmeter-5.1.1/bin/jmeter -n -r -t test.jmx
Jede Arbeitslastmaschine (Presse) hat 5 Threads und die Gesamtsteuerungsmaschine hat 10 Threads.
Umweltvorbereitung
Zwei virtuelle Maschinen. Es gibt einen Master und zwei Slaves. Die Windows-Maschine fungiert als ein Master und der Slave verwendet eine virtuelle Maschine.
Quelle: https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
Auftauchende Probleme:
java.rmi.RemoteException: Kann nicht gestartet werden. localhost.localdomain ist eine Loopback-Adresse
Erstelltes Remote-Objekt: UnicastServerRef2 [liveRef: [endpoint:127.0.0.1:43474,objID:[-5a8dd143:17e2852fe88:-7fff, 3673082414768940798]]]
Server konnte nicht gestartet werden: java.rmi.RemoteException: Kann nicht gestartet werden. localhost.localdomain ist eine Loopback-Adresse.
Ein Fehler ist aufgetreten: Kann nicht gestartet werden. localhost.localdomain ist eine Loopback-Adresse.
Ausnahmeinformationen: Ausnahme beim Serverstart: Java-Remote-Methodenaufruf löste Ausnahme aus: Der Dienst konnte nicht gestartet werden. localhost.localdomain ist eine lokale Loopback-Adresse
Der über den Befehl hostname erhaltene Hostname lautet localhost.
Überprüfen Sie die Hostkonfiguration mit dem Befehl cat /etc/hosts, der auf 127.0.0.1 verweist
Lösung:
Geben Sie die IP-Adresse des Remote-Server-Hosts an (rmi.server.hostname).
Beginnen Sie mit der Angabe des Terminalbefehls
./jmeter-server -Djava.rmi.server.hostname=192.168.2.2