jmeter - asynchrone TCP Sampler Optionen?

stimmen
0

Ich hoffe, dass jemand etwas Erfahrung mit asynchronen Tests hat und wie erreichen sie mit Jmeter. Wenn jemand nicht kennt, aber nicht mit jmeter, auch offen für andere Optionen, aber besser vertraut mit jmeter und Kontext ist für die Belastungs- / Stresstests.

Definition: Zum Beispiel Datenströme Raw TCP Text sendet, wo die „Sitzung“ id innerhalb des Datenstroms selbst. Alles ist asynchron und konnte ‚out-of-order‘ soweit zurückkehrt sein.

Beispiel: So, da eine Probe von 10 Datenströme mit einem Endsignal von \ n über 5 Fäden, es ist möglich, dass alle 10 gegenüber dem gleichen TCP-Port gesendet werden, bevor die erste antwortet, und die Antwort in jeder Reihenfolge sein könnten.

session00001datasenthere \ n

session00002datalsosenthere \ n

session00003differentdata \ n

...

session00010moredifferentdata \ n

Mit Jmeter, ich will messen, wie lange es für jeden gegebenen Datenstrom auf das sessionid (zB Daten-Bytes 8-12 des Stromes in diesem Beispiel) zurückzukehren Basis nimmt. Die Absicht ist Jmeter zu verwenden, was es ist gut, Belastungs- / Stresstests auf mehrere Rechner, aber intelligent genug, um die asynch TCP-Daten zu verstehen (im Gegensatz zu Ihrer normalen HTTP-Sitzung Request / Response).

Constraint ist während einer Testsitzung angesichts der ‚sessionid‘ einzigartig ist zumindest bis eine Antwort Strom (aus logistischen Gründen zurückgeführt wird, könnte sonst nicht diese abziehen ;-).

Vielen Dank im Voraus, und nur, um sicherzustellen, Absicht zu verstehen ist, ist dieser Vorteil von all dem netten ready-to-go nehmen Berichte / Hörern / plugins / Analytik zur Verfügung Jmeter.

EDIT: Die Implementierung des Servers im Test ist Netty, nicht unähnlich das Telnet-Beispiel. Wenn es ein Jmeter Beispiel des Netty Beispiel Telnet-Server zu testen, die auch helfen können.

-D

Veröffentlicht am 14/10/2013 um 15:55
vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Ihre Wahl , die ich denke , ist eine implementieren Java anfordern Sampler .

Sie könnten die folgenden Parameter für Ihre definieren Java anfordern Sampler Umsetzung:

  • Server-Host
  • Server Port
  • Verbindungskennung (siehe später)
  • Sitzungskennung
  • Daten

Lesen Sie sorgfältig die Dokumentation von JavaSamplerClient den Lebenszyklus zu verstehen. Jeder Thread wird eine Instanz Sampler haben.

Dann in Ihrer Implementierung müssen Sie kümmern sich um die folgenden Dinge nehmen:

  • Erstellen Klasse einer Verbindungs-Handler, die Steckdosen für jede Verbindungskennung eröffnet. Testfälle die gleiche Verbindungskennung verwendet, wird Daten über die gleiche Buchse senden. Diese Verbindung Handler sollte die Daten synchronisiert Art und Weise des Sendens kümmern und die Antwort an die zuständige Instanz zurück zu geben, die für sie wartet
  • in Ihrem Sampler müssen Sie genau eine Verbindung Handler erstellen (oder eine pro-Server oder eine pro Port, wie Sie möchten)
  • wenn der Sampler einen Text sendet, geben Sie es an die Verbindungssteuerung und der Sampler wartet, bis die Antwort kommt.

Auf diese Weise können Sie einfach Ihr asynchrones Problem auf einen synchronen einem mit der Implementierung diesen conenction Handler umwandeln, die zwischen den Sampler-Instanzen gemeinsam genutzt wird. Aber kümmern sich um die Umsetzung sicher sein, dass der Thread-Programmierung nicht fälschen die Ergebnisse mit einigen Test-Tool Seite Engpass.

Beantwortet am 24/10/2013 um 13:53
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more