Wir alle wissen, dass Jmeter für Schnittstellentests und Leistungstests verwendet werden kann, und mittlerweile verwenden die meisten Leistungstests in Unternehmen Jmeter. Docker ist ein Container-Bereitstellungstool, das in den letzten Jahren immer beliebter geworden ist. Es kann einen Container erstellen und dann das Projekt in den Container einfügen, um eine unabhängige Betriebsumgebung aufzubauen.
Einige Leute dachten: Können sie zusammen verwendet werden?
Heute werde ich Ihnen sagen, wie Sie sie zusammen verwenden können.
Wählen Sie zunächst einen Linux-Computer aus, installieren Sie Docker
, besuchen Sie dann die Open-Source-Website von Gitee, suchen Sie nach „nmb-jmeter-docker“, um dieses Projekt zu finden
, notieren Sie sich dann den gesamten Code des Projekts und laden Sie ihn in den /opt-Pfad von hoch das Linux-System
Erstellen Sie einen Jmeter-Container mit Docker (normaler Jmeter).
Geben Sie den Ordner „base-jmeter-docker“ ein
Führen Sie sh build.sh aus, um ein lokales Jmeter-Image zu erstellen
Die Standardversion ist jmeter5.1.1
Nachdem der Build erfolgreich war, laden Sie die mit jmeter erstellte JMX-Skriptdatei in den Base-Jmeter-Docker-Pfad der Linux-Maschine hoch und führen Sie sie aus
sh jmeter.sh -n -t YouJMX_file \
-l JTL_date +%Y%m%d_%H%M%S.jtl \
-j jmeter.log \
-e -o Report_date +%Y%m%d_%H%M%S
Wenn Sie das Testen der Schnittstellenautomatisierung erlernen möchten, empfehle ich Ihnen hier eine Reihe von Videos. Dieses Video kann als das Tutorial zum Testen der Schnittstellenautomatisierung Nummer eins im gesamten Netzwerk an Station B bezeichnet werden Die Anzahl der Benutzer hat 1.000 erreicht, und es gibt Notizen zum Sammeln und Verwenden. Technischer Austausch verschiedener Master: 798478386
Sie können Ihre JMX-Datei auch in andere Pfade hochladen. Geben Sie den JMX-Dateipfad an, wenn Sie den Befehl jmeter.sh ausführen
Dieser Befehl ist derselbe wie der CLI-Modusbefehl von jmeter, und die zugehörigen Parameter von cli können ebenfalls verwendet werden.
Erstellen Sie einen erweiterten Jmeter-Container (Jmeter mit Plug-Ins)
-
Laden Sie alle Dateien im Ordner [jpgc-jmeter-docker] herunter
-
Erstellen Sie ein lokales Image: sh build.sh
-
Führen Sie die JMX-Datei mit dem erstellten Image aus
sh jmeter.sh -n -t YouJMX_file \
-l YouJTL_date +%Y%m%d_%H%M%S.jtl \
-j jmeter.log \
-e -o report_date +%Y%m%d_%H%M%S
Die Standard-Jmeter-Version ist 5.1.1
Wenn Sie zu einer anderen Version wechseln möchten, ändern Sie diese nacheinander: die Versionsnummer 5.1.1 in den Dateien Dockerfile, build.sh und jmeter.sh
Hinweis: Bitte geben Sie keine Version unter 5 an. Unter 5 kann es zu Problemen beim generierten HTML-Bericht kommen
In dieser Version wurde der HTML-Bericht geändert und das JPGC-Plug-In eingeführt. Wenn Sie andere Plug-Ins einführen möchten, können Sie diese in das Dateipaket JmeterPlugins-jpgc.zip packen und komprimieren. Führen Sie dann sh build.sh aus, um ein neues Image zu erstellen.
Erstellen Sie einen verteilten Jmeter-Container (Slave)
Bei Leistungstests wird im Allgemeinen festgestellt, dass jmeter nicht genügend gleichzeitige Benutzer generieren kann und wir verteilt verwenden müssen, um eine ausreichende Anzahl gleichzeitiger Benutzer zu erstellen. In Wirklichkeit können wir jedoch möglicherweise nicht genügend Anzahl erhalten von Computern.
Verwenden Sie Docker, um Jmeter-Unterstützungsdienste zu erstellen, damit dies realisiert werden kann. Theoretisch kann eine beliebige Anzahl von Jmeter-Unterstützungsdiensten auf einem Computer erstellt werden, um eine ausreichende Anzahl gleichzeitiger Benutzer zu generieren. Darüber hinaus ist auch die Wartung der Assist-Maschine einfacher geworden, da alle Container der Assist-Maschine auf dem gleichen Image basieren und theoretisch alle Container gleich sind.
-
Laden Sie alle Dateien im Ordner [slave-jmeter-docker] herunter
-
Erstellen Sie ein lokales Slave-Image: sh build.sh
-
Erstellen Sie einen Slave-Container
docker run -itd --name slave1 nmb/jmeter-slave:5.1.1 server
# 重复执行时,修改容器名称name值,则可创建多个slave容器
Die Standard-Jmeter-Version ist 5.1.1
Wenn Sie zu einer anderen Version wechseln möchten, ändern Sie diese nacheinander: Dockerfile, Versionsnummer 5.1.1 in der Datei build.sh
Beachten:
1. Fügen Sie das JPGC-Plugin zum Bild hinzu und ändern Sie die HTML-Berichtsvorlage
2. Bitte geben Sie keine niedrigere Version als 5 an. Bei einer niedrigeren Version als 5 kann es zu Problemen mit dem erstellten HTML-Bericht kommen
3. Unterstützen Sie den Service-Port 1099, 5000, da der Master die Verbindung zum späteren Herstellen einer Verbindung zum Container verwendet und daher keine Zuordnung des Ports erforderlich ist
Um mehrere Slave-Container zu erstellen, müssen Sie nur den angegebenen Containernamen im Befehl zum Erstellen eines Containers ändern.
Die Ports jedes Hilfsdienstes sind 1099 und 5000. Wenn sie direkt dem Host zugeordnet sind, kommt es definitiv zu Portkonflikten. Daher müssen wir uns keine Sorgen über Portkonflikte machen, wenn wir den Master verwenden, um jeden Slave-Container zu verknüpfen.
Erstellen Sie einen verteilten Jmeter-Container (Master)
-
Laden Sie alle Dateien im Ordner [master-jmeter-docker] herunter
-
Erstellen Sie ein lokales Master-Image: sh build.sh
-
Ändern Sie die Nummer und den Namen von --link in der Datei run-master.sh
Vor dem Doppelpunkt steht der Name des Slave-Containers, nach dem Doppelpunkt der benutzerdefinierte Alias
-
Verwenden Sie den Master-Container, um verteilte Skripte auszuführen
sh run-master.sh -n \
-R 助攻机别名(多个时用逗号分隔) \
-t YouJMXfile \
-l YouJTL_date +%Y%m%d_%H%M%S.jtl \
-j jmeter.log \
-e -o report_date +%Y%m%d_%H%M%S
Die Standard-Jmeter-Version ist 5.1.1
Wenn Sie zu einer anderen Version wechseln möchten, ändern Sie diese nacheinander: Dockerfile, Versionsnummer 5.1.1 in der Datei build.sh
Hinweis: Bitte geben Sie keine Version unter 5 an. Unter 5 kann es zu Problemen beim generierten HTML-Bericht kommen
Beachten:
-
Nachdem das Image erfolgreich erstellt wurde, verfügt es über ein JPGC-Plugin, das mit dem JPGC-Plugin geschriebene Skripte ausführen kann
-
Der Spiegel transformiert auch den von jmeter erstellten HTML-Bericht und der erstellte Bericht wird in Chinesisch konvertiert
-
Jmeter ist verteilt, der Jmeter des Masters und der Hilfsmaschine muss gleich sein, daher muss die Jmeter-Version des Masters und des Slaves gleich sein
Nun, die Technologie zur Verwendung von Docker zum Erstellen von Jmeter für Leistungstests ist abgeschlossen und der Code wurde als Open Source für Gitee bereitgestellt. Wenn Sie ihn nützlich finden, helfen Sie bitte bei der Bestellung von ZAN!