0

Ich versuche, einen Testplan zu erstellen, der mehrere Iterationen des Stresstests ausführt. Die Idee, die ich zu implementieren versuche, besteht darin, 1 Minute HTTP-Anfragen an den Server zu senden und einen konstanten Durchsatz aufrechtzuerhalten. Dann erhöhen Sie den gewünschten Durchsatz und führen Sie den Test erneut für 1 Minute. Ich möchte den Durchsatz bei jeder Iteration um 100 Anfragen pro Sekunde erhöhen, bis ich sehe, dass der tatsächliche Durchsatz viel niedriger als der gewünschte ist.Jmeter bedingt Iteration bei Test erfolgreich ausführen

Ich habe erfolgreich einen Testplan erstellt, der einen konstanten Durchsatz für eine Minute ausführt: Ich habe eine Thread-Gruppe mit X-Threads, und ich setze den Scheduler auf Dauer von 60 Sekunden. In dieser Threadgruppe habe ich einen HTTP Request Sampler und einen Constant Throughput Timer, den ich auf einen gewünschten Wert setze.

Allerdings möchte ich das in einer Schleife ausführen und den gewünschten Wert im Constant Throughput Timer bei jeder Iteration erhöhen.

Auch ich möchte die Schleife stoppen (oder überspringen aufeinanderfolgende Iteration), wenn ich sehe, dass der tatsächliche Durchsatz im Aggregate Report viel niedriger ist als der Durchsatz, den ich in der Constant Throughput Timer für diese Iteration gesetzt.

Also im Grunde, wenn ich den Punkt erreiche, dass mein Server nicht mithalten kann, möchte ich nicht mehr betonen es mehr.

Wie kann ich die oben beschriebenen Funktionen erreichen?

Dank

Antwort

0
  • Um den Durchsatz von 100 jede Iteration

    • definiert es als eine Eigenschaft in dem konstanten Durchsatz Timer __P() function wie ${__P(throughput)}
    • definieren throughput Eigenschaft Anfangswert in user.properties file or via -J command-line argument zu erhöhen (Sie können es sogar außerhalb von JMeter mit Beanshell server feature)
    • tun
    • Test Action Sampler zum Ende Ihrer Thread-Gruppe hinzufügen (es erzeugt kein Ergebnis Probe, so dass es nicht in den Protokollen angezeigt)
    • JSR223 PreProcessor als Kind des Test Action Sampler hinzufügen und setzen Sie den folgenden Code in "Script" Bereich:

      def throughput = Integer.parseInt(props.get('throughput')) 
      throughput += 6000 
      props.put('throughput', String.valueOf(throughput)) 
      

    auf diese Weise jeder Iteration Durchsatz wird von 6000 Anfragen pro Minute (100 Anfragen pro Sekunde) erhöht werden

  • Sie AutoStop Listener um t verwenden können o stoppe deinen Server auf der Grundlage verschiedener Kriterien.

+0

Vielen Dank für Ihre Antwort. Ich sehe jedoch, dass der AutoStop-Listener nur durchschnittliche Antwortzeit, durchschnittliche Latenz und Fehlerrate zugreifen kann. Aber ich würde gerne aufhören, wenn der tatsächliche Durchsatz, wie er im Aggregate Listener angezeigt wird, viel niedriger ist als der gewünschte. –

+0

Würde es Ihnen auch etwas ausmachen, ein Beispiel zu geben? Ich habe alles verfolgt, was du erwähnt hast, und ich bekomme nicht das erwartete Ergebnis. –

Verwandte Themen