Ich habe eine Thread-Gruppe mit einigen HTTP-Anfragen darin. Ich werde einige Hundert oder Tausende von Threads laufen. Ich möchte die Zeitüberschreitung für die Threadgruppe festlegen, so dass es ein Timeout geben würde, wenn es eine bestimmte Zeit überschreitet. Gibt es eine Möglichkeit, dies zu tun?Ist es möglich, Timeout für eine Thread-Gruppe festzulegen?
Antwort
Wenn Sie Timeout für ThreadGroup sagen - meinen Sie die Dauer des Tests? das heißt, Sie möchten den Test für bestimmte Dauer? Wenn ja, können Sie die Dauer in der Thread-Gruppen-Konfiguration festlegen.
Wenn Sie meinen, einzelne HTTP-Anfragen Sampler nach bestimmten Dauer Timeout, dann HTTP Requests Default
ist der beste Ort, dass einzustellen.
Sie können dies auch im spezifischen Sampler überschreiben.
Sie können dies mit tun JSR223 Assertion wie:
- hinzufügen JSR223 Assertion irgendwo in Ihrem Testplan (stellen Sie sicher, dass es nicht zu oft ausgeführt werden)
Verwenden Der folgende Code im Bereich "Skript" (Beispielcode, der den aktuellen Sampler nicht erfüllt und den Test stoppt, wenn die Dauer der Threadgruppe 5 Sekunden überschreitet):
def testStart = Long.parseLong(vars.get("TESTSTART.MS")) def now = System.currentTimeMillis() if ((now - testStart) >= 5000) { AssertionResult.setFailure(true) AssertionResult.setFailureMessage("Thread group duration exceeded 5000 ms") SampleResult.setStopTest(true) }
Demo:
Siehe How to Use JMeter Assertions in Three Easy Steps Artikel für ausführlichere Erklärung, wie/Einstellung Anforderungskriterium für die JMeter Tests fehlschlagen.
Ich habe versucht, dies zu testen, indem ich den HTTP-Sampler mit einem falschen Wert durchläuft, so dass es für immer eine Schleife durchlaufen würde. Ich hatte die JSR223 Assertion unterhalb des Samplers hinzugefügt. Aber es sieht so aus, als würde es die Assertion nur ausführen, wenn es die Schleife verlässt. Können Sie mir sagen, wann die Behauptung in einem Thread ausgeführt werden würde? – Jane
Behauptungen gehorchen den [Scoping-Regeln] (http://jmeter.apache.org/usermanual/test_plan.html#scoping_rules), also wenn Sie die Assertion als Kind eines Samplers hinzugefügt haben - wird sie nach jedem Sampler ausgeführt –
Dies hat gewonnen Hilf mir nicht, da dies auf einen Sampler beschränkt ist. Ich möchte die Zeitüberschreitung, wenn der ganze Thread Zeit braucht, wenn ich Tausende von Threads verwende – Jane
- 1. Ist es möglich, eine Spaltenbreite für eine Java-Ausgabe festzulegen?
- 2. Ist es möglich, einen Primärschlüssel für eine Ansicht festzulegen?
- 3. Ist es möglich, [XmlAttribute] als Standard für eine Klasse festzulegen?
- 4. Ist es möglich, Abhängigkeiten für einen Ordner mit require.js festzulegen?
- 5. Ist es möglich, mehrere Eingabestreams für Kinesis Analytics festzulegen?
- 6. before_filter: Ist es möglich, den Controller für die Aktion festzulegen?
- 7. WebClient.AsyncDownloadString() - Gibt es eine Möglichkeit, ein Timeout festzulegen?
- 8. Swift - Ist es möglich, eine bestimmte Farbe für die Statusleiste für ALLE View-Controller festzulegen?
- 9. Ist es möglich, Umgebungsvariablen in einer .sublime-Projektdatei festzulegen?
- 10. Google halfdonut Tortendiagramm: Ist es möglich, den Gesamtprozentsatz festzulegen?
- 11. Ist es möglich, die Position eines UIImageView-Bildes festzulegen?
- 12. Ist es möglich, mit ausdrücklicher Zustimmung des Benutzers eine Zeit für die Aktivierung des Standorts festzulegen?
- 13. Ist es möglich, eine gemeinsame Bindung für alle Implementierungen in einer Mehrfachsignaturfunktion festzulegen?
- 14. Ist es möglich, einen Standardspeicherort für R-Pakete festzulegen, anstatt dem Benutzer eine Auswahl zu geben?
- 15. Ist es möglich, einen Wert für eine $ viewed-Bereichseigenschaft festzulegen, die den $ watch-Rückruf nicht auslöst?
- 16. Ist es möglich, Einschränkungen für eine VARCHAR-Spalte in MySQL festzulegen?
- 17. Ist es möglich, eine Tastatur in XAML für einen Eintrag "Satz Großschreibung" festzulegen?
- 18. Ist es möglich, Lockscreen Hintergrundbild programmgesteuert in Android festzulegen?
- 19. Ist es möglich, einen Standardwert für eine Eigenschaft mit NHibernate
- 20. Ist es möglich, Code hinter einem Ressourcenwörterbuch in WPF für Ereignisbehandlung festzulegen?
- 21. Ist es möglich, den Ausgangszustand eines Simulink-Modells für Simulationen festzulegen?
- 22. Ist es möglich, die maximale Breite für ein Formular festzulegen, aber die maximale Höhe nicht eingeschränkt?
- 23. Ist es möglich, eine eindeutige Einschränkung als Fremdschlüssel in einer anderen Tabelle festzulegen?
- 24. Ist es möglich, eine Eigenschaft auf UIView über Swift 4 KeyPaths in einer Erweiterung festzulegen?
- 25. Ist es möglich, einige Umgebungsvariablen für alle Projekte in einem Ordner in Jenkins festzulegen?
- 26. Data Factory - ist es möglich, ein Parallelitätslimit für einen verknüpften Dienst festzulegen?
- 27. Ist es möglich, eine minimale Darstellungshöhe einstellen
- 28. Ist es für mehrere Threads sicher, ServicePointManager.ServerCertificateValidationCallback festzulegen?
- 29. sl4j und logback - Ist es möglich, die Protokollierungsstufe für das Paket programmgesteuert festzulegen?
- 30. Javascript: Ist es möglich, verschiedene Schriftgrößen für verschiedene Texte in einem 2D-Canvas festzulegen?
Ich würde einige Tausende von Threads ausgeführt werden. Mein Verständnis ist, dass, wenn ich die Dauer verwende, dann würde es den Test nach dem Laufen für diese bestimmte Zeit stoppen. Wenn ich das Timeout in einem HTTP-Anforderungsstandardwert hinzufüge, wäre es nur für diesen Sampler anwendbar. Aber ich möchte die Threadgruppe abbrechen, wenn der Server geladen ist und lange braucht, um Ergebnisse zurückzugeben. – Jane