Erstellen Sie einen Jmeter-Container mit Docker. Können Sie Leistungstests durchführen?

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     

[Aktualisiert] Die detaillierteste Sammlung praktischer Tutorials zum automatisierten Testen von Python-Schnittstellen, die von Station B (der neuesten Version des tatsächlichen Kampfes) unterrichtet werden._哔哩哔哩_bilibili [Aktualisiert] Die detaillierteste Sammlung praktischer Tutorials zum automatisierten Testen von Python Von Station B (tatsächlicher Kampf) unterrichtete Schnittstellen (die neueste Version) verfügen über insgesamt 200 Videos, darunter: 1. [Schnittstellenautomatisierung] Die aktuelle Marktsituation für Softwaretests und die Fähigkeitsstandards von Testern. , 2. [Schnittstellenautomatisierung] Vollständige Kenntnisse der Requests-Bibliothek und der zugrunde liegenden Methodenaufruflogik, 3. [Schnittstellenautomatisierung] Schnittstellenautomatisierungskampf und die Anwendung regulärer Ausdrücke und JsonPath-Extraktoren usw. Weitere spannende Videos finden Sie unter das UP-Konto. https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337 

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)

  1. Laden Sie alle Dateien im Ordner [jpgc-jmeter-docker] herunter

  2. Erstellen Sie ein lokales Image: sh build.sh

  3. 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.

  1. Laden Sie alle Dateien im Ordner [slave-jmeter-docker] herunter

  2. Erstellen Sie ein lokales Slave-Image: sh build.sh

  3. 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)

  1. Laden Sie alle Dateien im Ordner [master-jmeter-docker] herunter

  2. Erstellen Sie ein lokales Master-Image: sh build.sh

  3. Ä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

  1. 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!

Supongo que te gusta

Origin blog.csdn.net/caixiangting/article/details/132132978
Recomendado
Clasificación