25. Verteiltes Testen mit Apache JMeter Schritt für Schritt

Dieses kurze Tutorial erklärt, wie Sie Stresstests mit mehreren Systemen durchführen. Bevor wir beginnen, gibt es ein paar Dinge zu überprüfen.

  • die Firewalls auf den Systemen ausgeschaltet oder die richtigen Ports geöffnet sind.
  • Alle Clients befinden sich im selben Subnetz.
  • der Server befindet sich im selben Subnetz, wenn 192.xxx- oder 10.xxx- IP-Adressen verwendet werden. Wenn der Server keine 192.xx- oder 10.xx- IP-Adresse verwendet, sollte es keine Probleme geben.
  • Stellen Sie sicher, dass JMeter auf den Server zugreifen kann.
  • Stellen Sie sicher, dass Sie auf allen Systemen dieselbe Version von JMeter und Java verwenden. Das Mischen von Versionen wird nicht korrekt funktionieren.
  • Sie haben SSL für RMI eingerichtet oder deaktiviert.

Sobald Sie sichergestellt haben, dass die Systeme bereit sind, ist es an der Zeit, Remote-Tests einzurichten. Das Tutorial geht davon aus, dass Sie JMeter bereits auf allen Systemen installiert haben. Die Funktionsweise von JMeter besteht darin, dass ein Controller-Knoten den Test auf mehreren Worker-Knoten initiiert.

In diesem Tutorial verwenden wir den GUI-Modus nur zur Demonstration. Im wirklichen Leben sollten Sie den CLI-Modus (NON GUI) verwenden, um Ihren Lasttest zu starten
Einfacher Testplan
Einfacher Testplan

25.2 Starten des Tests

An diesem Punkt können Sie mit dem Lasttest beginnen. Wenn Sie überprüfen möchten, ob die Worker-Knoten funktionieren, öffnen Sie jmeter.log in Ihrem Editor. Sie sollten Folgendes im Protokoll sehen.

Protokolldatei schreiben nach: /XXXX/XXXXX/bin/jmeter-server.log
Erstelltes Remote-Objekt: UnicastServerRef [liveRef: [endpoint:[192.XXX:XXXXX](local),objID:[-6a665beb:15a2c8b9419:-7fff, 3180474504933847586]]]

Wenn Sie diese Meldung nicht sehen, bedeutet dies, dass jmeter-server nicht korrekt gestartet wurde. Tipps zum Debuggen des Problems finden Sie im Abschnitt Tipps . Es gibt zwei Möglichkeiten, den Test zu starten: ein einzelnes System und alle Systeme.

25.3 Einen einzelnen Client starten

  1. Klicken Sie oben auf Ausführen
  2. Wählen Sie Remote-Start
  3. Wählen Sie die IP-Adresse aus
Starten Sie einen einzelnen Worker-Knoten
Starten Sie einen einzelnen Worker-Knoten

25.4 Alle Clients starten

  1. Klicken Sie oben auf Ausführen
  2. Wählen Sie Remote Start all oder verwenden Sie Strg  +  Umschalt  +  R
Starten Sie alle Worker-Knoten
Starten Sie alle Worker-Knoten

25.5 Einschränkungen

Es gibt einige grundlegende Einschränkungen für verteiltes Testen. Hier ist die Liste der bekannten Gegenstände in keiner bestimmten Reihenfolge.

  1. RMI kann ohne Proxy nicht über Subnetze hinweg kommunizieren; daher kann JMeter auch nicht ohne einen Proxy.
  2. Seit Version 2.9 sendet JMeter alle Testergebnisse, die Antwortdaten entfernen, an die Steuerkonsole, wodurch wir die Auswirkungen auf die Netzwerk-E / A reduzieren können. Stellen Sie sicher, dass Sie Ihren Netzwerkverkehr überwachen, damit dieser Verkehr nicht zu Konflikten führt
  3. Ein einzelner JMeter-Client, der auf einer 2–3-GHz-CPU (neuere CPU) ausgeführt wird, kann je nach Testtyp 1000–2000 Threads verarbeiten.

25.7 Tipps

In einigen Fällen blockiert die Firewall möglicherweise immer noch den RMI-Datenverkehr.

Virenschutz und Firewall

Antivirus sollte während eines Belastungstests gestoppt werden, da dies drastische Auswirkungen auf das Timing haben und zu falschen Ergebnissen führen kann.

Die Firewall muss von den Windows-Diensten gestoppt oder zumindest einige Ports geöffnet werden.

  1. Systemsteuerung öffnen
  2. Öffnen Sie Verwaltungstools
  3. Dienste doppelklicken
  4. Gehen Sie nach unten zu Symantec Antivirus, klicken Sie mit der rechten Maustaste und wählen Sie Stopp

Windows-Firewall

  1. Netzwerkverbindungen öffnen
  2. Wählen Sie die Netzwerkverbindung aus
  3. Klicken Sie mit der rechten Maustaste und wählen Sie Eigenschaften
  4. Wählen Sie die Registerkarte Erweitert
  5. Deaktivieren Sie die Firewall für die Internetverbindung

Linux

Unter Linux ist iptables möglicherweise standardmäßig aktiviert. Anweisungen dazu finden Sie im Abschnitt „Remote Testing“ im Benutzerhandbuch

Auf RedHat (oder Derivaten) ist iptables standardmäßig aktiviert. Ausführen

Dienst iptables stoppen
um die Linux-Firewall zu stoppen oder sicherzustellen, dass Sie die richtigen Ports öffnen.

Go to top