11

Ich brauche einen Belastungstest zu schaffen, in dem ein es maximal von 4 gleichzeitigen Benutzern pro Sekunde. Dann muss ich das für eine Stunde wiederholen. Gibt es eine Möglichkeit, dies in JMeter zu erreichen?Wie der konstanten Durchsatz Timer verwenden, um ein Maximum von 4 concurrents Benutzern pro Sekunde angeben, während einer Stunde

Ich habe mit dieser Konfiguration versucht:

  • Anzahl der Themen: 4
  • Ramp-up-Periode: 1
  • Schleifen zählen: Für immer
  • Dauer: 3600

Und um sicherzustellen, dass dieser genau eine Stunde lang läuft, habe ich auch einen Runtime Controller mit dem gleichen "3600" Laufzeitwert verwendet.

Aber das schafft mehr gleichzeitige Benutzer pro Sekunde als das, was ich brauche und außerdem ist es unwahrscheinlich, dass viele gleichzeitige Benutzer als Benutzer in der Regel so viel Zeit brauchen, um zu denken, bevor sie etwas tun, und dies wurde nicht in meiner Konfiguration so reflektiert versucht mit Constant Throughput timer, aber das verwirrt mich nur mehr.

  • Ich bin sicher, dass ich den konstanten Durchsatz Timer, verwenden muß, aber ich habe nicht die leiseste Ahnung davon, wie es in meinem Fall zu tun.
  • Wenn die Constant Throughput Timer verwenden, wie konfiguriere ich die Thread-Eigenschaften (Anzahl der Threads, Hochlaufzeit, Schleifenzählung, Zeitplan)?
  • Muss ich wirklich einen Laufzeit-Controller verwenden, um sicherzustellen, dass der Testplan genau für eine Stunde ausgeführt wird oder ausreicht, um einen Dauerwert von 3600 anzugeben?

Antwort

12

Mit dem Timer für konstanten Durchsatz können Sie den Durchsatz Ihres Servers aufrechterhalten. (req/sec) Hier sind Anfragen Sampler. Threads sind Benutzer/Clients, die Server mit Samplern anfordern.

Ich hoffe, dass dies die Unterscheidung zwischen Anfrage und Benutzer, d. H. Sampler und Thread gelöscht hat.

Jetzt arbeitet der Constant Throughput Timer auf Sampler pro Minute. also für Ihre Anforderung von 4 Req pro Sekunde. es werden 240 Anfragen pro Minute.

und Sie wollen diesen Durchsatz unter allen Threads erhalten oder unter einer einzigen Thread-Gruppe (falls Sie mehr Thread-Gruppen haben), wenn Sie einzelne Thread-Gruppe haben.

So wird JMeter Motor alle Gewinde mit gegebenen Ramp-up starten, aber nur 4 Abtastern ermöglicht d.h. nur 4 Anfrage pro Sekunde bei einer gegebenen Sekunde ausführen. So Durchsatz wird von allen Threads erreicht und Sie können diese für eine bestimmte Zeit weiterhin entweder Weise verwenden,

  1. Prüfdauer
  2. Runtime-Controller

enter image description here

Ich hoffe, dass es gelöscht Ihre Verwirrung und löste das Problem.

+0

Vielen Dank @Nachiket. Nur noch ein paar Fragen: 1) Wie lautet die Konfiguration der ** Thread-Gruppe ** (Anzahl der Threads, Hochlaufzeit, Loop-Anzahl usw.) für die Konfiguration, die Sie gezeigt haben? 2) Wenn ich ** Constant throughput timer ** benutze, bekomme ich in der ersten Minute der Ausführung immer zusätzliche Anfragen, ist das normal? Ich, gibt es eine Erklärung dafür? Noch einmal, vielen Dank – Axel

+0

Ich habe das gleiche Problem und wie Axel sagt, in der Dokumentation gibt es nichts über den Grund, warum in der ersten Minute bekommen wir eine zusätzliche Anfrage – eddy

+2

persönlich finde ich die Durchsatzformung Timer genauer als JMeter eingebauter konstanter Durchsatz-Timer: http://jmeter-plugins.org/wiki/ThroughputShapingTimer/ –