LoadView Goal-Based Load Test ist ein intelligentes Testtool, das Tests für eine bestimmte Anzahl von Transaktionen ermöglicht und automatisch alle erforderlichen Testparameter anpasst, z. B. Benutzerauslastung und Testdauer.

Wenn Sie beim Einrichten des Auslastungstests mit einer gleichzeitigen Anzahl von Benutzern oder Besuchern arbeiten, sollten Sie die Lastschrittkurve als Lasttyp verwenden.

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.

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. Dieser iterative Prozess wird fortgesetzt, bis die vorgegebene Testdauer abgelaufen ist.

In jedem Zyklus führt das System die folgenden Schritte aus.

1. Benutzerlastberechnung starten (nur im ersten Zyklus)

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.

2. Erzeugung von Lasten

Das System generiert auf der Grundlage der Berechnungen die virtuelle Benutzerlast.

3. Bewertung der erreichten Anzahl an Transaktionen pro Minute vs. Transaktionsziel

Nach Abschluss des ersten Testzyklus berechnet das System die tatsächliche Anzahl der Transaktionen pro Minute für den Zyklus. Dann prüft das System, ob die generierte Anzahl gleichzeitiger virtueller Benutzer mit dem gewünschten Transaktionsziel übereinstimmt, wenn die durchschnittliche Antwortdauer im aktuellen Zyklus (durchschnittliche Antwortdauer) berücksichtigt wird.

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.

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) und die Dauer der Validierungsantwort auf 0,18 Sekunden festgelegt ist.

Die empfohlene Benutzerstartauslastung für den ersten Zyklus wird wie folgt berechnet:

Benutzerauslastung starten = 2000 TPM × 0,18 Sekunden = 377 gleichzeitige virtuelle Benutzer.

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.

Mögliche Ergebnisse eines zielbasierten Tests

Beim Ausführen eines zielbasierten Auslastungstests in LoadView sind zwei wichtige Ergebnisse möglich.

Erfolgreiche Zieldurchsatzerreichung
Ein zielbasierter Auslastungstest in LoadView gilt als erfolgreich, wenn das System das angegebene Transaktionsziel erreicht oder sich dem angegebenen Transaktionsziel nähert. Aufgrund natürlicher Schwankungen in der Leistung des Zielservers und der Antwortzeit während der Testausführung kann die genaue Anzahl der erreichten Transaktionen pro Minute leicht vom gesetzten Ziel abweichen. Geringfügige Abweichungen sind zu erwarten, da die Benutzerauslastung auf der Grundlage von Echtzeit-Reaktionsmessungen dynamisch angepasst wird. Solange der erreichte Durchsatz in einem akzeptablen Bereich des Zielwerts bleibt, wird der Test als Erfolg gewertet

Verfehltes Erreichen des Ziels
Wenn der zielbasierte Test den angegebenen Durchsatz nicht erreicht, weist dies in der Regel auf Leistungsprobleme in der Zielumgebung hin. Häufige Gründe sind:

  • Eine proportionale Erhöhung der Serverantwortzeiten bei wachsender Benutzerlast.
  • Serverseitige Fehler, die die normale Transaktionsverarbeitung unterbrechen.

In solchen Fällen bleibt die Anzahl der erfolgreichen Transaktionen pro Minute trotz zusätzlicher Benutzerlast unter dem gewünschten Ziel, was auf potenzielle Engpässe oder Systemeinschränkungen hinweist, die einer weiteren Optimierung bedürfen. Weitere Informationen finden Sie in unserem Artikel Problembehandlung bei zielbasierten Auslastungstests .