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.


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 ¶
- Klicken Sie oben auf Ausführen
- Wählen Sie Remote-Start
- Wählen Sie die IP-Adresse aus

25.4 Alle Clients starten ¶
- Klicken Sie oben auf Ausführen
- Wählen Sie Remote Start all oder verwenden Sie Strg + Umschalt + R

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.
- RMI kann ohne Proxy nicht über Subnetze hinweg kommunizieren; daher kann JMeter auch nicht ohne einen Proxy.
- 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
- 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
Die Firewall muss von den Windows-Diensten gestoppt oder zumindest einige Ports geöffnet werden.
- Systemsteuerung öffnen
- Öffnen Sie Verwaltungstools
- Dienste doppelklicken
- Gehen Sie nach unten zu Symantec Antivirus, klicken Sie mit der rechten Maustaste und wählen Sie Stopp
Windows-Firewall
- Netzwerkverbindungen öffnen
- Wählen Sie die Netzwerkverbindung aus
- Klicken Sie mit der rechten Maustaste und wählen Sie Eigenschaften
- Wählen Sie die Registerkarte Erweitert
- 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 stoppenum die Linux-Firewall zu stoppen oder sicherzustellen, dass Sie die richtigen Ports öffnen.