Detailliertes Tutorial zum verteilten Betrieb von JMeter in der Docker-Umgebung

Detailliertes Tutorial zum verteilten Betrieb von JMeter in der Docker-Umgebung

1. Erstellen Sie das Basisimage von jmeter

Das Dockerfile sieht wie folgt aus:

# Verwenden Sie Java 8 Slim JRE
VON openjdk:8-jre-slim
WARTUNGSPARTNER QJP

# JMeter-Version
ARG JMETER_VERSION=5.1.1

# Installieren Sie einige Dienstprogramme
Führen Sie apt-get clean && \ aus.
  apt-get update && \
  apt-get -qy installieren \
        wget \
        telnet \
        iputils-ping \
        entpacken
# JMeter installieren
Führen Sie den Befehl mkdir /jmeter \ aus.
   && cd /jmeter/ \
   && wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-$JMETER_VERSION.tgz \
   && tar -xzf apache-jmeter-$JMETER_VERSION.tgz \
   && rm apache-jmeter-$JMETER_VERSION.tgz
   
WORKDIR /jmeter/apache-jmeter-$JMETER_VERSION/bin
#Kopieren Sie eine jmeter.properties-Datei aus dem aktuellen Ordner und stellen Sie sicher, dass server.rmi.ssl.disable=true aktiviert ist.
KOPIEREN Sie jmeter.properties.
# Alle Plugins hinzufügen
ADD jmeter-plugins/lib /jmeter/apache-jmeter-$JMETER_VERSION/lib

# Füge den Beispieltest hinzu
ADD Beispiel-Test Beispiel-Test

# JMeter-Home festlegen
ENV JMETER_HOME /jmeter/apache-jmeter-$JMETER_VERSION/

# JMeter zum Pfad hinzufügen
ENV-PFAD $JMETER_HOME/bin:$PATH

Erstellen des Images

Dockerbuild -t jmbase.

Paket-Upload

Docker-Tag jmbase Dockername/jmbase
Docker Push Dockername/JMBase

2. Erstellen Sie das Master-Maschinen-Image von jmeter

Die Dockerfile-Datei lautet wie folgt

# Verwenden Sie das jmbase-Basisimage VON qjpdsg/jmbase
MAINTAINER TestAutomationGuru

# Ports, die vom Container für JMeter-Slaves/Server freigegeben werden sollen
# Ports, die vom JMeter Slaves/Server-Container freigegeben werden sollen EXPOSE 1099 50000

# Anwendung, die beim Starten des Containers ausgeführt werden soll
# Starten Sie den Container, um die Anwendung ENTRYPOINT $JMETER_HOME/bin/jmeter-server \ auszuführen.
            -Dserver.rmi.localport=50000 \
            -Dserver_port=1099

Erstellen des Images

Docker-Build -t jmmaster.

Paket-Upload

Docker-Tag jmmaster Dockername/jmmaster
Docker Push Dockername/JMMaster

3. Erstellen Sie das JMeter-Client-Image

Die Dock- und Dateidateien sind wie folgt

# JMBase-Basisimage verwenden
VON qjpdsg/jmbase

WARTUNGSPARTNER QJP

# Ports, die vom Container für JMeter Master freigegeben werden sollen
60000 ausstellen

Erstellen des Images

Docker-Build -t jmslave.

Paket-Upload

Docker-Tag jmmaster Dockername/jmslave
Docker Push Dockername/JM-Slave

4. Führen Sie den JMeter-Client aus und rufen Sie die IP-Adresse ab:

Starten Sie den Client-Container:

docker run -dit --name slave01 jmserver /bin/bash
docker run -dit --name slave02 jmserver /bin/bash
docker run -dit --name slave03 jmserver /bin/bash

Client-IP abrufen

docker inspect --format '{{ .Name }} => {{ .Netzwerkeinstellungen.IP-Adresse }}' $( docker ps -a -q )

Konfigurieren Sie die IP-Adresse für die jmeter.properties des JMeter-Mastercomputers. Beachten Sie, dass der Serverport des Clients mit dem Serverport des Masters übereinstimmen muss.

wie:

Legen Sie die Adresse fest:

remote_hosts=172.17.0.2:1099,172.17.0.3:1099

In den jmmaster-Container kopieren:

docker cp ./jmeter.properties jmmaster:/jmeter/apache-jmeter-5.1.1/bin/

5. Starten Sie das verteilte Testen:

Rufen Sie den Client-Container auf und führen Sie den JMeterServer-Dienst aus:

docker exec -it slave10 /bin/bash
JMeter-Server

Rufen Sie den Mastercontainer auf und führen Sie verteilte Tests durch:

jmeter -n -t mywh.jmx -R172.17.0.2,172.17.0.3

Dies ist das Ende dieses Artikels über die verteilte Ausführung von JMeter in einer Docker-Umgebung. Weitere verwandte Inhalte über die verteilte Ausführung von JMeter in Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Verwendung der Elasticsearch-Visualisierung Kibana unter Docker
  • Detaillierte Erläuterung des Aufbaus des visuellen Überwachungszentrums für Docker-Container
  • Detailliertes Tutorial zum Erstellen einer JMeter+Grafana+Influxdb-Überwachungsplattform mit Docker
  • Verwenden Sie Grafana, um Überwachungsdiagramme von Docker-Containern anzuzeigen und E-Mail-Benachrichtigungsregeln festzulegen (Abbildung)
  • So überwachen Sie Docker mit Grafana unter Ubuntu
  • Detailliertes Tutorial zur Installation von InfluxDB in Docker (Leistungstest)
  • Allgemeine Befehle zum Bereitstellen von InfluxDB und Mongo mit Docker
  • Tutorial zum Erstellen einer visuellen Leistungsüberwachungsplattform mit JMeter+Grafana+InfluxDB in einer Docker-Umgebung

<<:  Ein Artikel zeigt Ihnen, wie Sie mit React ein Rezeptsystem implementieren

>>:  So konvertieren Sie MySQL horizontal in vertikal und vertikal in horizontal

Artikel empfehlen

Was sind die Unterschiede zwischen SQL und MySQL

Was ist SQL? SQL ist eine Sprache zum Betrieb von...

Klassifizierung der Farbeigenschaften von Webseiten

Klassifizierung der Farbeigenschaften Jede Farbe ...

Häufig verwendete HTML-Format-Tags_Powernode Java Academy

1. Titel HTML definiert sechs <h>-Tags: <...

Teilen Sie 10 der neuesten Web-Frontend-Frameworks (Übersetzung)

In der Welt der Webentwicklung sind Frameworks wei...

Optionsfelder und Multiple-Choice-Schaltflächen werden mit Bildern gestaltet

Ich habe schon Leute fragen hören, wie man Options...

Implementierungsmethode des Nginx+Tomcat-Lastausgleichsclusters

Die experimentelle Umgebung ist wie folgt Hier mü...

HTML-Tabellen-Markup-Tutorial (43): VALIGN-Attribut der Tabellenüberschrift

In vertikaler Richtung können Sie die Ausrichtung...

Detaillierte Analyse der Unterschiede zwischen break und last in Nginx

Lassen Sie uns zunächst über den Unterschied spre...

Vue verwendet Regeln zur Implementierung der Formularfeldvalidierung

Es gibt viele Möglichkeiten, Formularfelder in Vu...

Reines JavaScript zur Implementierung des Zahlenratespiels

Entwickeln Sie ein Zahlenratespiel, bei dem zufäl...

Echarts-Tutorial zur Implementierung von Baumdiagrammen

Treemaps dienen vor allem der Visualisierung baum...