Was sind Iterationen bei Lasttests?
Iterationen im Kontext von Lasttests beziehen sich auf die Anzahl der Male, die ein bestimmter Satz von Aktionen oder ein Testskript von einem virtuellen Benutzer während des Lasttests ausgeführt wird. Im Wesentlichen stellt eine Iteration einen einzelnen Zyklus eines Testszenarios dar.
Um beim Erstellen eines neuen Lasttests von "Dauer" auf "Iterationen" zu wechseln, öffnen Sie unter Wie viel Last? die Feinabstimmung und aktivieren Nach Iterationen statt nach Zeit ausführen; deaktivieren Sie es, um zu einer festen Dauer zurückzukehren. Der Iterationen-Slider reicht bis zum Limit Ihres Plans (60 im Free-Plan). Bei Cloud- und JMeter-Tests gilt die eingestellte Zahl für jeden virtuellen Benutzer. Bei k6-Tests ist sie die Gesamtzahl für den ganzen Test: Alle virtuellen Benutzer starten gleichzeitig, ohne Ramp-Up, und teilen sich diese Iterationen.
Hier ist eine Aufschlüsselung, inspiriert von JMeter und allgemeinen Lasttest-Prinzipien:
1. Warum Iterationen verwenden?
Abschnitt betitelt „1. Warum Iterationen verwenden?“- Simulation wiederholten Benutzerverhaltens: Iterationen ermöglichen es Testern, wiederholtes Benutzerverhalten zu simulieren. Beispielsweise könnte ein Benutzer eine E-Commerce-Website besuchen, Produkte durchsuchen, einen Artikel in den Warenkorb legen und dann zur Kasse gehen. Diese Abfolge von Aktionen könnte von demselben Benutzer oder verschiedenen Benutzern über einen bestimmten Zeitraum mehrmals wiederholt werden.
- Identifizierung potenzieller Probleme: Iterationen helfen bei der Identifizierung von Speicherlecks oder anderen Problemen, die auftreten könnten, wenn derselbe Satz von Aktionen wiederholt durchgeführt wird.
2. Wie behandelt JMeter Iterationen?
Abschnitt betitelt „2. Wie behandelt JMeter Iterationen?“- Schleifenanzahl: In JMeter werden Iterationen über die "Schleifenanzahl" in der Thread-Gruppe verwaltet. Wenn Sie die Schleifenanzahl auf 5 setzen, führt jeder virtuelle Benutzer den Testplan (oder die Abfolge von Samplern) 5 Mal aus.
- Endlosschleifen: Reines JMeter hat für eine Thread-Gruppe ebenfalls eine Option für "unendliche" Schleifen. Das LoadFocus-Formular nicht: Legen Sie eine feste Anzahl von Iterationen fest oder wechseln Sie zu Dauer, um für eine bestimmte Zeit zu laufen.
3. Unterschied zwischen Iterationen und Benutzeranzahl
Abschnitt betitelt „3. Unterschied zwischen Iterationen und Benutzeranzahl“- Den Unterschied verstehen: Es ist wichtig, Iterationen nicht mit der Benutzeranzahl zu verwechseln. Wenn Sie 10 virtuelle Benutzer und 5 Iterationen haben, bedeutet dies, dass jeder dieser 10 Benutzer das Testskript 5 Mal ausführt. Sie haben also insgesamt 50 Ausführungen Ihres Testplans. So zählen Cloud- und JMeter-Tests in LoadFocus. k6-Tests zählen anders: 10 virtuelle Benutzer und 50 Iterationen ergeben insgesamt 50 Ausführungen, die sich die 10 Benutzer teilen. Die Zeile unter dem Diagramm sagt das auch ("10 Benutzer teilen sich insgesamt 50 Iterationen und starten gleichzeitig.").
4. Warum sind Iterationen bei Lasttests wichtig?
Abschnitt betitelt „4. Warum sind Iterationen bei Lasttests wichtig?“- Konsistenz und Leistung: Durch die mehrfache Wiederholung des Tests (Iterationen) können Tester die Konsistenz des Anwendungsverhaltens und der Leistung sicherstellen. Wenn eine Anwendung in der ersten Iteration gut funktioniert, aber in nachfolgenden Iterationen an Leistung verliert, könnte dies auf Probleme wie Ressourcensättigung, unzureichende Speicherbereinigung usw. hinweisen.
- Umfassendes Testen: Es bietet ein umfassenderes Bild davon, wie sich eine Anwendung unter wiederholter, anhaltender Last verhält, anstatt bei einem einmaligen Anstieg.
5. Best Practices
Abschnitt betitelt „5. Best Practices“- Unabhängige Iterationen: Stellen Sie beim Einrichten von Iterationen sicher, dass jede Iteration unabhängig ist. Wenn ein Benutzer beispielsweise in einer Iteration einen Artikel in den Warenkorb legt, stellen Sie sicher, dass der Warenkorb vor Beginn der nächsten Iteration geleert wird.
- Ressourcenüberwachung: Überwachen Sie Systemressourcen während längerer Tests mit vielen Iterationen, um potenzielle Engpässe oder Verschlechterungen im Zeitverlauf zu identifizieren.
Zusammenfassend sind Iterationen ein grundlegendes Konzept bei Lasttests, das Testern einen Mechanismus bietet, reale Benutzerverhalten nachzubilden und zu bewerten, wie Systeme unter wiederholten Aktionen funktionieren. Die richtige Verwaltung und das Verständnis von Iterationen können zu robusteren und genaueren Lasttestergebnissen führen.