Lasttest: Denkzeit, Taktung und Verzögerungen
Was ist Think Time im Performance Testing?
Think Time im Lasttest bezeichnet die simulierte Verzögerung oder Pause zwischen aufeinanderfolgenden Benutzeraktionen während eines Performancetests. Es steht für die Zeit, die ein Benutzer mit Nachdenken, Lesen oder anderweitiger Inaktivität nach Abschluss einer Aktion und vor Einleitung der nächsten Aktion verbringt. Think Time wird in die Testszenarien eingefügt, um diese realistischer zu gestalten und das natürliche Verhalten tatsächlicher Benutzer, die mit der Anwendung interagieren, nachzuahmen.
Zum Beispiel betrachten wir ein Szenario einer E-Commerce-Webanwendung, in dem ein Benutzer ein Produktkachel auswählt. Anschließend navigiert er zur Produktanzeigeseite und nimmt sich Zeit, die Inhalte auf dieser Seite zu konsumieren und zu lesen, bevor er schließlich auf die Schaltfläche „In den Warenkorb“ klickt. Die Zeitspanne zwischen dem Klick auf die Produktkachel und dem Klick auf „In den Warenkorb“ wird als Think Time bezeichnet.
Wenn man an Lasttests denkt, stellt man sich oft große Benutzerzahlen vor, die gleichzeitig eine Website oder API bombardieren. Das ist zwar ein Teil der Geschichte, aber Think Time ist genauso wichtig. Es hilft dabei, tatsächliche Benutzerabläufe zu simulieren, wie das Stöbern nach Produkten, das Einloggen in Konten oder das Abschließen von Einkäufen. Jede Aktion hat eine natürliche Pause, und die Berücksichtigung dieser Pausen in Ihren Tests stellt sicher, dass Ihre Anwendung auf das reale Benutzerverhalten vorbereitet ist.
Vorteile von Think Time
- Realismus: Die Einbeziehung von Think Time ahmt das natürliche Verhalten von Benutzern nach, die nicht kontinuierlich mit einem System interagieren. Dies erhöht die Realitätsnähe von Lasttestszenarien und macht sie aussagekräftiger hinsichtlich tatsächlicher Benutzererfahrungen.
- Genauigkeit der Benutzersimulation: Think Time trägt dazu bei, das Benutzerverhalten während des Testprozesses präzise zu simulieren. Benutzer verbringen normalerweise Zeit mit Lesen von Inhalten, Entscheidungen treffen oder Überlegungen anstellen, und Think Time erlaubt die Simulation dieser natürlichen Pausen.
- Leistung: Think Time gibt Ressourcen auf dem Execution Server zwischen den Anfragen frei. Dies ermöglicht anderen virtuellen Benutzern (VUs) auf dem Execution Server, ihre Anfragen zu senden, und verhindert, dass die Execution Server-Maschine I/O-Einschränkungen erfährt.
- Verbesserte Fehlerbehebung: Realistische Think Time-Szenarien helfen dabei, Leistungsengpässe zu erkennen, die in Szenarien ohne Pausen möglicherweise nicht sichtbar sind. Es hilft, Probleme im Zusammenhang mit Benutzersitzungen, Sitzungsmanagement und der allgemeinen Systemreaktionsfähigkeit aufzudecken.
Wann sollte man Think Times verwenden?
Think Times in Ihre Lasttests einzubauen kann schwierig sein, weil jeder Benutzer anders ist. Positiv ist, dass Think Times flexibel sind und Sie einen Bereich für Ihre Think Time-Werte berücksichtigen sollten. Zum Beispiel benötigen einige Benutzer mehr Zeit, um Inhalte zu lesen oder Daten in ein Formular einzugeben als andere.
Sie sollten Think Time zwischen diesen Aktionen einbauen, um die Zeitspanne von dem Moment an zu replizieren, in dem eine Person eine Antwort von Ihrem Server erhält, bis zu dem Zeitpunkt, an dem die Person eine neue Seite anfordert. Ihre Think Time hängt von Ihren Benutzerszenarien ab, und Sie sollten Ihre Think Time-Wertbereiche anhand von Daten Ihrer Website oder Anwendung bestimmen. Sie möchten die mittlere Verweildauer der Benutzer auf Ihren Seiten ermitteln.
Was ist Pacing im Performance Testing?
Pacing wird in Lasttests verwendet, um zu gewährleisten, dass der Test mit der vorgesehenen Transaktionen-pro-Sekunde-Rate durchgeführt wird. Es ist die Zeitlücke zwischen jeder vollständigen Iteration des Geschäftsablaufs. Dies hilft, die Anzahl der pro Sekunde an den Server gesendeten Anfragen zu regulieren.
Die Bedeutung von Verzögerungen im Lasttest
Das Testen der Performance der Anwendung vor deren großflächigem Einsatz hilft, potenzielle Unannehmlichkeiten für Endbenutzer wie Timeouts, langsame Seitenreaktionen und Ausfallzeiten zu verhindern. Um realistische Testergebnisse zu erzielen und eventuelle Probleme aufzudecken, ist es essenziell, Think Time und Pacing in die Szenarien Ihres Tests einzubeziehen.
Beispielsweise nutzt der Server die eingefügte Think Time zwischen jeder gleichzeitigen Benutzeraktion, um ausstehende Aufgaben in der Warteschlange zu bearbeiten. Er führt die nächste Aufgabe aus, bevor er zur vorherigen zurückkehrt. Das spiegelt das typische Produktionsszenario mit echten Benutzern genau wider. Darüber hinaus verlängert die Einbeziehung von Think Time die vom Benutzer verbrachte Zeit in der Anwendung und macht dadurch Probleme sichtbar, die mit der Kapazität des Servers zur effektiven Handhabung gleichzeitiger Benutzer zusammenhängen.
Berechnung von Verzögerungen zum Testen von Anwendungen
Die Anzahl gleichzeitiger virtueller Benutzer, Verzögerungen und Transaktionen pro Sekunde (TPS) variiert je nach Anwendung. Um zu berechnen, wie die Verzögerungen für Ihre Anwendung sein sollten, können Sie die folgende Formel verwenden:
- Lasttestdauer (in Sekunden) * (TPS + Verzögerungen) * Anzahl gleichzeitiger Benutzer = Gesamttransaktionen
Zum Beispiel betrachten wir das Generieren von 100.000 Transaktionen mit einer Antwortzeit von jeweils 5 Sekunden während eines 10-minütigen Tests (600 Sekunden). Um die erforderliche gleichzeitige Benutzerzahl bei einer Think Time von 3 Sekunden zu ermitteln, verwenden wir die Formel: 100.000 / (8 * 10 * 60), was etwa 21 Benutzer ergibt. Diese Methode hilft, die notwendigen Verzögerungen und Benutzerzahlen für effektive Lasttests zu bestimmen.
Einrichten von Lasttest-Verzögerungen mit LoadView
LoadView stellt Ihnen den EveryStep Web Recorder zur Verfügung, der die Erstellung von Testszenarien erleichtert, indem Benutzeraktionen im Browser aufgezeichnet werden. Er bildet die Schritte des Benutzers getreu nach und erfasst Datenpunkte wie Selektoren, Aktionen und Verzögerungen. Während der Erstellung Ihres Testszenarios ist es wichtig, Ihre authentische Benutzerreise einschließlich Think Time-Verzögerungen nachzuahmen. Nach der Aufzeichnung generiert das Tool ein Skript, das mit der angegebenen Anzahl gleichzeitiger Benutzer erneut ausgeführt werden kann. Das Skript ist anpassbar, sodass Benutzer Verzögerungen für einzelne Schritte je nach Testbedarf ändern und aktualisieren können, wie im folgenden Bild gezeigt. Weitere Informationen zum Bearbeiten von EveryStep Web Recorder-Skripten.
Der optimale Ansatz, um präzise Ergebnisse in einem Lasttest zu erzielen, besteht darin, ein Skript zu erstellen, das reale Benutzerinteraktionen mit der Anwendung simuliert und die Benutzerreise erfasst.
Mit LoadView haben Sie auch die Möglichkeit, das Benutzerverhalten beim Lasttest zu ändern. Wie im unten gezeigten Bild ersichtlich, können Sie Normal Delay oder Custom Delay auswählen, um spezifisches Benutzerverhalten und Verzögerungen für Ihre Anwendungen festzulegen.
Fazit: Think Time, Pacing und Verzögerungen
Es ist entscheidend, Performance-Tests an Ihrer Anwendung durchzuführen, bevor sie in die Produktion geht. Die Wirksamkeit dieses Prozesses bei der Erkennung genauer performancebezogener Probleme beruht darauf, bewährte Praktiken einzuhalten und Testszenarien zu entwickeln, die reale Benutzeraktionen innerhalb Ihrer Anwendung einschließen.
Dieser Artikel behandelte die Bedeutung von Think Time, Pacing und Verzögerungen im Lasttest. Durch die Einbeziehung dieser Elemente in Ihre Lasttest-Designs können Probleme wie Seiten-Timeouts, langsame Seitenreaktionen, Inkonsistenzen bei den Antwortzeiten und Serverfehler frühzeitig erkannt werden – auch unter hoher Last. Die Anwendung dieser Strategien trägt zur Entwicklung reaktionsfähiger und zuverlässiger Anwendungen und Webseiten bei. LoadView kann diesen Prozess erleichtern und Sie können Think Time, Pacing und Verzögerungen mühelos in Ihre Lasttestszenarien integrieren, um das Beste aus Ihren Tests herauszuholen. Wenn Sie sich heute für LoadView anmelden, erhalten Sie alle Vorteile des Lasttests, die die Plattform bietet, und können Ihre ersten Tests kostenlos durchführen!
Bringen Sie Ihr Lasttesting auf die nächste Stufe
nächste Stufe
Erleben Sie unvergleichliche Funktionen mit grenzenloser Skalierbarkeit. Keine Kreditkarte, kein Vertrag.