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

Was Sie über Responsive Design wissen müssen

Responsive Design bedeutet, während des Website-E...

So verwenden Sie js, um festzustellen, ob eine Datei UTF-8-codiert ist

Konventionelle Lösung Verwenden Sie FileReader, u...

CSS-Tutorial: CSS-Attribut-Medientyp

Eines der wichtigsten Merkmale eines Stylesheets ...

Tabelle zeigt den Grenzcode, den Sie anzeigen möchten

Gemeinsame Eigenschaften von Tabellen Die grundle...

Ideen und Codes zur Implementierung der Vuex-Datenpersistenz

Was ist Vuex vuex: ist ein speziell für vue.js en...

Confluence mit Docker bereitstellen

1. Umweltanforderungen 1. Docker 17 und höher wur...

Mehrere Möglichkeiten zur Lösung von CSS-Stilkonflikten (Zusammenfassung)

1. Verfeinern Sie den Selektor Durch die Verwendu...

Der Vue.js-Cloud-Speicher realisiert die Bild-Upload-Funktion

Vorwort Tipp: Das Folgende ist der Hauptinhalt di...

Detaillierte Erläuterung von acht Methoden zum Korrigieren des CSS-Seitenendes

Beim Schreiben einer Seite kommt es häufig vor, d...

JavaScript-Beispielcode zum Ermitteln, ob eine Datei vorhanden ist

1. Geschäftsszenario Ich habe kürzlich Entwicklun...

Freigabe der Schritte zum SVN-Dienstsicherungsvorgang

Schritte zur Sicherung des SVN-Dienstes 1. Quells...