Verteilte Stresstests in JMeter

Verteilte Stresstests in JMeter
MIN
21 Feb. 2024

Inhaltsübersicht

Was sind verteilte Tests?

Bei verteilten Lasttests werden mehrere Systeme verwendet, um die Belastung durch eine große Anzahl von Benutzern zu simulieren. In JMeter wird dies durch die Erstellung einer Master-Slave-Konfiguration erreicht.

Warum ist das notwendig?

Der Grund für die Verwendung mehrerer Systeme für Lasttests liegt in der Tatsache, dass ein einziges System nicht in der Lage ist, eine große Anzahl von Threads (Benutzern) zu erzeugen.

Welche anderen Möglichkeiten haben wir?

Zusätzlich zu den verteilten Lasttests können wir auch Lasttests über die Cloud durchführen. Cloud-basierte Lasttests (wie Amazons EC2) haben mehrere Vorteile: einfache Skalierbarkeit, keine Wartung, schnelle Bereitstellung und keine künstlichen Netzwerkengpässe.

Eine weitere Alternative ist Blazemeter, ein Cloud-Dienst, der mit Apache JMeter kompatibel ist. Er erzeugt eine große Menge an sofortiger Last und bietet sehr umfassende Berichts- und Analysefunktionen.

Wir können auch verteilte Lasttests in der Cloud durchführen, bei denen mehrere Maschinen in der Cloud verwendet werden können, um große Mengen an Last zu erzeugen.

Verteilte Lasttests mit JMeter

Für verteilte Lasttests müssen wir eine Master-Slave-Konfiguration erstellen, in der der Master alle Slaves verwaltet und die Testergebnisse sammelt.

Damit das System funktioniert, muss die Firewall deaktiviert sein und alle Systeme müssen sich im selben Subnetz befinden. Alle Systeme müssen die gleiche Version von JMeter und Java verwenden.

  1. Zunächst müssen wir die Datei jmeter-server.bat auf den Slave-Systemen ausführen. Navigieren Sie dazu einfach zum Ordner bin im JMeter-Stammverzeichnis und führen Sie die Batch-Datei jmeter-server.bat (für Windows) oder jmeter-server (für Linux) aus.
  2. Öffnen Sie nun im Hauptsystem die Datei jmeter.properties und bearbeiten Sie den Eintrag remote_hosts. Entfernen Sie den Wert der Loopback-Adresse (127.0.0.1) für remote_host und geben Sie die IP-Adressen aller Slave-Systeme durch Kommata getrennt ein.
  1. Wir müssen nur alle Slave-Computer in der JMeter-Anwendung ferngesteuert starten. Öffnen Sie dazu einfach JMeter auf dem Hauptrechner (für den die Eigenschaftsdatei gerade geändert wird). Öffnen Sie Ihr Testskript und lassen Sie alle Knoten ferngesteuert laufen.