Analyse des Bereitstellungsprozesses der Leistungstestplattform nGrinder mit Docker

Analyse des Bereitstellungsprozesses der Leistungstestplattform nGrinder mit Docker

Was ist nGrinder?

nGrinder ist eine Plattform für Stresstests, mit der Sie gleichzeitig Skripte erstellen, Tests ausführen, überwachen und Ergebnisberichte erstellen können. Der Open Source nGrinder bietet eine einfache Möglichkeit, Stresstests durchzuführen, indem er Unannehmlichkeiten beseitigt und eine integrierte Umgebung bereitstellt. Es ist unter der Apache-Lizenz Version 2.0 lizenziert und ist eine Open-Source-Web-Performance-Testplattform auf Basis von Grinder, die vom Entwicklungsteam der NHN Corporation, dem größten Internetunternehmen Südkoreas, neu gestaltet und verbessert wurde.

http://naver.github.io/ngrinder/

nGrinder besteht aus drei Komponenten

Controller: Eine Webanwendung, mit der Leistungstester Testskripte erstellen, testbezogene Parameter konfigurieren und Testskripte automatisch an Agenten verteilen können.

Agent: Laden und führen Sie den Testprozess und die Threads auf dem Proxyserver aus. Es wird empfohlen, ihn nicht auf dem zu testenden Server bereitzustellen.

Monitor: Wird verwendet, um die Systemleistung des zu testenden Servers zu überwachen (z. B. CPU/Speicher) und muss auf dem zu testenden Server bereitgestellt werden.

nGrinder-Architektur

So funktioniert es

Es besteht aus einem Controller und mehreren Agenten. Das Testszenario wird über den Controller (Browserzugriff) eingerichtet und dann zum Stresstest an den Agenten verteilt.
Benutzer schreiben Testskripte gemäß bestimmter Spezifikationen und der Controller verteilt die Skripte und erforderlichen Ressourcen an den Agenten und führt sie mithilfe von Jython aus.
Erfassen Sie während der Skriptausführung den Laufstatus, die Antwortzeit, testen Sie den Laufstatus des Zielservers usw. Und speichern Sie diese Daten, um einen Testbericht zu erstellen, der in Form von dynamischen Diagrammen und Datentabellen angezeigt wird. Benutzer können TPS, CPU und Speicher des getesteten Servers einfach sehen.
Einsatz

1. Einzelner Controller mit mehreren Agenten

2. Mehrere Controller und mehrere Agenten

Ausführen von nGrinder auf Docker

Führen Sie den Controller aus

Docker Pull Ngrinder/Controller
docker run -d -v ~/ngrinder-controller:/opt/ngrinder-controller --name controller -p 80:80 -p 16001:16001 -p 12000-12009:12000-12009 ngrinder/controller

Der Controller erstellt einen Datenordner unter /opt/ngrinder-controller, um den Testverlauf und die Konfigurationsdaten zu verwalten. Um die Daten dauerhaft zu speichern, sollten Sie den Ordner /opt/ngrinder-controller im Container einem Ordner auf dem Host zuordnen.

Hafeninformationen:

80: Standard-Web-UI-Port des Controllers.

9010–9019: Agenten stellen über diese Ports eine Verbindung zum Controller-Cluster her.

12000-12029: Der Controller verteilt Stresstests über diese Ports.

Ausführen des Agenten

Docker-Pull Ngrinder/Agent
docker run -d --name agent --link controller:controller ngrinder/agent

Docker-Compose - schnelle Bereitstellung

Verwenden Sie den Docker-Compose-Dienst, um einen Controller und zwei Agenten einzurichten:

Schreiben Sie yml

vim docker-compose.yml

ngrinder-controller-1:
 Bild: ngrinder/controller
 Containername: ngrinder-controller-1
 Hostname: ngrinder-controller-1
 Häfen:
  8087:80
  16001: 16001
  12000 12009:12000 12009
 Bände:
  – /data/ngrinder/controller-1:/opt/ngrinder-controller
ngrinder-agent-1:
 Bild: ngrinder/agent
 Containername: ngrinder-agent-1
 Hostname: ngrinder-agent-1
 Bände:
  – /data/ngrinder/agent-1:/opt/ngrinder-agent
 Befehl:
  - 10.255.254.25:8087
ngrinder-agent-2:
 Bild: ngrinder/agent
 Containername: ngrinder-agent-2
 Hostname: ngrinder-agent-2
 Bände:
  – /data/ngrinder/agent-2:/opt/ngrinder-agent
 Befehl:
  - 10.255.254.25:8087

Start-up

docker-compose -f docker-compose.yml -d up

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Analyse des Implementierungsprozesses der Docker-Intranet-Penetration-FRP-Bereitstellung
  • So stellen Sie MySQL- und Redis-Dienste mit Docker bereit
  • So installieren Sie Tomcat in Docker und stellen das Springboot-Projekt-War-Paket bereit
  • Schritte zum Bereitstellen mehrerer Tomcat-Dienste mithilfe von DockerFile im Docker-Container
  • Erstellen, Hochladen, Abrufen und Bereitstellen von Docker-Images (mithilfe von Alibaba Cloud)
  • Detaillierte Bereitstellung von Docker+Gitlab+Gitlab-Runner
  • So stellen Sie eigenständigen Pulsar und geclustertes Redis mit Docker bereit (Entwicklungsartefakt)
  • Analyse des Consul-Konfigurationsprozesses für die Docker-Bereitstellung

<<:  uniapp implementiert Datums- und Zeitauswahl

>>:  Schnelle und sichere Methode zum Umbenennen einer MySQL-Datenbank (3 Arten)

Artikel empfehlen

Beispiel für die Implementierung eines gestrichelten Rahmens mit html2canvas

html2canvas ist eine Bibliothek, die Canvas aus H...

MySQL Online-Übung zur Deadlock-Analyse

Vorwort Ich glaube, dass jeder beim Erlernen von ...

Eine Zeile CSS-Code zur Integration von Avatar und Nationalflagge

Es ist Nationalfeiertag und jeder kann es kaum er...

MySQL-Transaktionskontrollfluss und ACID-Eigenschaften

Inhaltsverzeichnis 1. ACID-Eigenschaften Syntax d...

So verwenden Sie weniger im WeChat-Applet (optimale Methode)

Vorwort Ich bin es gewohnt, Less/Sass zu schreibe...

Den Linux-Kernel erkunden: Die Geheimnisse von Kconfig

Erhalten Sie ein umfassendes Verständnis der Funk...

Tägliche Studiennotizen im HTML-Designmuster

Studiennotizen zu HTML-Entwurfsmustern Diese Woch...

XHTML-Tags sollten richtig verwendet werden

<br />In früheren Tutorials von 123WORDPRESS...

Detaillierte Erklärung des Workbench-Beispiels in MySQL

MySQL Workbench – Modellierungs- und Designtool 1...

Front-End-JavaScript-Housekeeper-Paket.json

Inhaltsverzeichnis 1. Erforderliche Attribute 1. ...