LoadView Goal-Based Load Test ist ein intelligentes Testtool, das Tests für eine Zielanzahl von Transaktionen bereitstellt und automatisch alle erforderlichen Testparameter, z. B. Benutzerauslastung und Testszenario, anpasst.

Ein zielbasierter Lasttyp ist nützlich, wenn Sie bereits den Grenzwert Ihres erforderlichen Durchsatzes identifiziert haben und sicherstellen müssen, dass Ihr Leistungsziel erreicht wird.

Bestimmen Sie Ihr Transaktionsziel

Das Verständnis Ihres Transaktionsziels ist für effektive zielbasierte Lasttests von entscheidender Bedeutung, da es sicherstellt, dass Ihre Website die erwartete Benutzeraktivität bewältigen kann. In LoadView stellt eine Transaktion ein Testskript (Testbeispiel) dar, das eine oder mehrere Benutzeraktionen enthalten kann, z. B. das Navigieren zu einer Kontaktseite, das Ausfüllen eines Formulars und das Senden. Das Transaktionsziel stellt die Anzahl dieser Transaktionen dar, die Ihre Website pro Minute verarbeiten kann.

So bestimmen Sie Ihr Transaktionsziel:

  1. Schätzen Sie die Gesamtzahl der Transaktionen, die in einem bestimmten Zeitraum erwartet werden.
  2. Berechnen Sie die Anzahl der Minuten innerhalb dieses Zeitraums.
  3. Teilen Sie die Gesamtzahl der Transaktionen durch die Anzahl der Minuten, um Ihr Transaktionsziel zu finden.

Beispiel

Wenn Ihre Website 600 Anmeldungen über eine Stunde (60 Minuten) erwartet, liegt das Transaktionsziel bei 600 ÷ 60, was 10 Transaktionen pro Minute entspricht.

Testalgorithmus erklärt

Um die gewünschte Anzahl von Transaktionen pro Minute zu erreichen und mögliche Schwankungen in der Leistung des Zielservers und der Anwendung zu berücksichtigen, führt LoadView einen Test in mehreren Zyklen durch. In jedem Zyklus führt das System die folgenden Schritte aus:

  1. Das System prüft, ob die generierte Anzahl gleichzeitiger virtueller Benutzer mit dem gewünschten Transaktionsziel übereinstimmt, und zwar unter Berücksichtigung der durchschnittlichen Antwortdauer im aktuellen Zyklus (durchschnittliche Antwortdauer).
  2. Wenn die generierte Benutzerlast nicht ausreicht, um das festgelegte Transaktionsziel zu erreichen, passt das System die Last für den nächsten Zyklus an.

Um dem angegebenen Transaktionsziel zu entsprechen, wird die anfängliche Anzahl gleichzeitiger Benutzer basierend auf dem festgelegten Transaktionsziel und der Antwortzeit berechnet, die für den Testlauf mit einem Benutzer gemessen wurde, der während der Testvalidierung ausgeführt wurde:

Start User Load = Transaktionsziel pro Minute × Dauer der Validierungsantwort

Die Testvalidierung ist für zielbasierte Auslastungstests von entscheidender Bedeutung. Stellen Sie sicher, dass das Testziel die Validierung erfolgreich bestanden hat, bevor Sie Ihre zielbasierte Kurve konfigurieren.

Nach Abschluss des ersten Testzyklus berechnet das System die tatsächliche Anzahl der Transaktionen pro Minute für den Zyklus. Wenn diese Zahl nicht mit dem gewünschten Transaktionsziel übereinstimmt, wird die Benutzerauslastung für den nächsten Zyklus mit der folgenden Formel angepasst:

Benutzerauslastung = Transaktionsziel pro Minute × Avg. Dauer der Antwort

Ist die Avg. Dauer der Antwort wird als durchschnittliche Reaktionszeit berechnet, die für den aktuellen Zyklus gemessen wurde. Um die Genauigkeit zu gewährleisten, wird das Testskript mehrmals innerhalb jedes Zyklus ausgeführt, wobei die Anzahl der Ausführungen durch den Testparameter Anpassungsrate definiert wird.

Dieser iterative Prozess der Bewertung des Transaktionsziels und der Lastanpassung wird fortgesetzt, bis die vorgegebene Testdauer abgelaufen ist.

Beispiel aus der Praxis

Um zu erklären, wie es in der Praxis funktioniert, sehen wir uns den folgenden Bericht an, in dem das Transaktionsziel auf 2.000 Transaktionen pro Minute (TPM) festgelegt ist und die empfohlene anfängliche Benutzerauslastung 377 gleichzeitige virtuelle Benutzer beträgt.

Erster Zyklus: Erstbewertung

Im ersten Testzyklus erreichte LoadView 1.176 TPM und verfehlte damit das Ziel von 2.000 TPM. Die durchschnittliche Antwortzeit (durchschnittliche Antwortdauer) betrug 19,39 Sekunden. Basierend auf diesen Daten berechnet das System die erforderliche Benutzerauslastung für den nächsten Zyklus mit der Formel neu:

Benutzerlast₂ = (2.000 / 60) × 19,39 ≈ 646 gleichzeitige virtuelle Benutzer

Zweiter Zyklus: Anpassen der Benutzerlast

Im zweiten Zyklus stieg die Benutzerauslastung auf 646 gleichzeitige virtuelle Benutzer. Die Antwortzeit des Zielservers begann jedoch zu steigen (wie durch den ersten Pfeil im Diagramm „Reaktionszeit“ angezeigt). Diese Erhöhung führte zu einer höheren durchschnittlichen Antwortdauer von 32,39 Sekunden.

Trotz der erhöhten Benutzerlast erreichte das System immer noch nur 1.176 TPM. Dies deutet darauf hin, dass sich die Transaktionsrate mit der zusätzlichen Last nicht verbessert hat.

Dritter und vierter Zyklus: Weitere Anpassungen und Beobachtungen

LoadView berechnete die Benutzerlast für den dritten Zyklus neu:

Benutzerlast₃ = (2.000 / 60) × 32,39 ≈ 1.079 gleichzeitige virtuelle Benutzer

Während des dritten Zyklus wuchs die Reaktionszeit proportional mit der erhöhten Benutzerlast weiter an. Im vierten Zyklus stieg die Antwortzeit des Servers mit der Benutzerlast weiter an, was den in den vorangegangenen Zyklen beobachteten Trends folgte. Dieses Muster deutet darauf hin, dass sich die Serverleistung verschlechterte, wenn weitere Benutzer hinzugefügt wurden, sodass LoadView das gewünschte Transaktionsziel nicht erreichen konnte.

Dieses Beispiel zeigt, dass eine signifikante Verlängerung der Antwortzeit, selbst bei höherer Benutzerauslastung, auf Server- oder Anwendungsleistungsprobleme hinweisen kann, die behoben werden müssen, um das gewünschte Transaktionsziel zu erreichen.