3 Stimmen

Die Remote-JMeter-Server senden alle Ausgaben an die kontrollierende JMeter-Instanz.

Mein Arbeitsplatz ist über Kabelinternet mit begrenzter Upload-/Downloadgeschwindigkeit verbunden, daher verwende ich für die Lasttests einer Webanwendung einen verteilten Ansatz:

  • Ein Exemplar von jmeter-server (v2.4) läuft auf einem entfernten Linux-System, das über eine ordnungsgemäße Internetverbindung verfügt.
  • Die steuernde jmeter GUI (ebenfalls 2.4) läuft auf meinem Desktop.
  • Die beiden sind über ein VPN verbunden.
  • Das System unter Test (SUT) ist eine Webanwendung, die in einem anderen Rechenzentrum gehostet wird.

Dies funktioniert gut - ich kann die Ausführung des entfernten Threads von der jmeter GUI aus starten und erhalte Live-Ergebnisse im Zusammenfassungsbericht.

Das Seltsame ist, dass meine Fähigkeit, echte Last auf das SUT zu legen, durch meine lokale Internetverbindung (eingehend, abwärts) begrenzt ist. Wenn ich die Verbindung zwischen der lokalen jmeter GUI und dem entfernten jmeter-server verfolge, sehe ich, dass der gesamte HTTP-Verkehr vom SUT zum jmeter-server an die lokale jmeter GUI gesendet wird. Wenn also der jmeter-server eine 1MB-Datei vom SUT abruft, wird sie dann an meine lokale jmeter GUI gesendet (über meine langsame Internetverbindung).

Ist das so, wie es sein sollte? Ich habe erwartet, dass nur die wichtigsten Messwerte transportiert werden (Erfolg, Latenz usw.).

[PS: Ich weiß, dass ich meinen Testplan auf das entfernte System kopieren und ihn in einem headless jmeter ausführen kann. Aber dann sehe ich keine Live-Ergebnisse...]

0 Stimmen

Hast du eine praktikable Lösung gefunden?

0 Stimmen

Überprüfen Sie die verschiedenen "Modi" für den Beispielsender hier jmeter.apache.org/usermanual/remote-test.html#sendermode

5voto

Rolf Punkte 6764

Dies liegt wahrscheinlich daran, dass Sie ein "View Tree Results" in Ihrem JMeter-Skript haben. Dies teilt dem Server mit, alle Antworten an den Master zurückzusenden, damit Sie sie anzeigen können. Das füllt schnell Ihre Bandbreite und ist speicherintensiv. Versuchen Sie, alle Zuhörer in Ihrem Skript zu deaktivieren und nur den "View Aggregate Results" dort zu haben.

Bei hoher Last sind Sie nicht an individuellen Ergebnissen interessiert. Es ist auch nicht erforderlich, Ihre Firewall in Ihrem Rechenzentrum zu öffnen, wenn Sie SSL-Tunneling verwenden. Ich habe das in einem Blogpost dokumentiert, weil ich online keine einfache Schritt-für-Schritt-Anleitung finden konnte, vielleicht möchten Sie das auch unter http://rolfje.com/2012/02/16/distributed-jmeter-through-vpn-and-ssl/ überprüfen.

0voto

Bala Punkte 122

Ich würde empfehlen, Ihre Ergebnisse in eine Datei zu schreiben. Bevor Sie dies tun, können Sie optional eine Auswahl / Abwahl der Ergebnisspeicherkonfiguration durch Klicken auf die Schaltfläche "Konfigurieren" und/oder durch Markieren von "Erfolg/Fehler ins Protokoll schreiben" durchführen. Durch das Abwählen von Daten des Ergebnissamplers, das Speichern von Antwortnachrichten usw. können Sie die Datenmenge reduzieren, die an Ihre Konsole gesendet wird.

0voto

BlackGaff Punkte 7409

Ich GLAUBE, dass auf diese Weise sowohl die lokale Instanz von JMeter als auch die Remote-Instanz das Skript gleichzeitig ausführen, wodurch der Datenverkehr auf Ihren lokalen Computer geleitet wird.

Was ich als effektiver empfunden habe, ist, sich AUF die Maschine einzuloggen, auf der JMeter läuft. Alles ist dann lokal auf der richtigen Maschine und ich muss mir keine Engpässe Sorgen machen.

Ich würde empfehlen, ein einfaches Data Writer-Element zu haben, das auf dem REMOTE-Linux-Computer in eine Datei speichert.

In der GUI können Sie immer noch nur den Aggregatbericht haben, um zu sehen, was passiert.

Hoffe das hilft. Wenn nicht, würde ich empfehlen, dies in der JMeter-Benutzergruppe zu posten:

http://jmeter.512774.n5.nabble.com/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X