Belastungstests vs. Stresstests
Bevor wir erklären, wie die Sollbruchstelle der Anwendung innerhalb der LoadView-Plattform ermittelt wird, müssen wir zunächst die Unterschiede zwischen einem Auslastungstest und einem Belastungstest beschreiben. Während die Begriffe häufig austauschbar verwendet werden, versuchen diese Tests, unterschiedliche Ergebnisse zu finden.
Ein Auslastungstest ist eine Art von nicht-funktionalen Tests, die verwendet werden, um den Zustand eines Systems zu überprüfen, während es sich um eine bestimmte Ebene gleichzeitiger Anforderungen handelt, die auch als Last bezeichnet werden. Das Ziel eines Auslastungstests besteht darin, zu beweisen, dass ein System ein erwartetes oder akzeptables Volumenmithaben mit minimaler Unterbrechung oder Verschlechterung verarbeiten kann. Faktoren, die zum Erstellen dieser Leistungsbasislinie verwendet werden, sind unter anderem Verbindungsgeschwindigkeit, Latenz und Downloadzeiten. Im Allgemeinen werden Auslastungstests durchgeführt, um die Anwendungsleistung innerhalb realistischer Grenzen vorherzusagen und zu verstehen, wie sich die Leistung bei Spitzenlastereignissen auswirkt. Wenn das System diese Schwellenwerte überschreitet, kann dies dazu führen, dass der Auslastungstest versehentlich zu einem Stresstest wird.
Andererseits soll ein Stresstest ein System am Punkt des Abbaus vorbeischieben, manchmal bis zu einem vollständigen Ausfall. Wenn Sie ein System über den Punkt des Abbaus oder des Ausfalls schieben, können Ingenieure sehen, wie das System die Wiederherstellung nach diesem Fehler verarbeitet und ob Änderungen an der Hardwarekapazität erforderlich sind. Einige der Faktoren, die in der Regel während eines Belastungstests überwacht werden, sind Datenträger-E/A, Bandbreite, CPU-Auslastung, Arbeitsspeicher und verschiedene Datenbankleistungsmetriken.
Berechnen der Anfangslast
Das Bestimmen der Bruchstelle einer Anwendung ist in der Regel nicht einfach, wie es scheint. Wenn der Server abstürzt, haben Sie diesen Punkt eindeutig gefunden, aber es gibt andere Faktoren, die berücksichtigt werden müssen, z. B. Reaktionszeiten. Wenn heutzutage eine Webseite oder Anwendung nicht innerhalb weniger Sekunden reagiert, springen die Benutzer ab. Lange Reaktionszeiten können ein Hinweis darauf sein, dass Ihre Anwendung ausfällt. Ein weiterer Hinweis, dass etwas kaputt ist, ist, dass Sie Beginnen sie, Kommentare von Benutzern über Webseitenprobleme zu erhalten, oder Ihr Support- oder IT-Team durch Problemtickets benachrichtigt wird.
Berücksichtigen Sie zunächst die Anzahl Der verwendeten Webserver und die Anzahl der verfügbaren CPU-Kerne. In diesem Beispiel gehen wir davon aus, dass wir mit einem Quad-Core-Webserver arbeiten, und verwenden einen Ausgangspunkt von 25 gleichzeitigen Benutzern pro CPU-Kern, also 100 gleichzeitige Benutzer. Es wird jedoch empfohlen, mit der Zahl zu beginnen, die 50 Prozent unter einem berechneten Startpunkt liegt, sodass 50 gleichzeitige Benutzer arbeiten. Von diesem Ausgangspunkt aus können Sie die Last je nach Anwendungsleistungsanforderungen auf das 5- oder 10-fache erhöhen.
Auswählen einer Lastkurve: Die LoadView-Plattform
Die LoadView-Plattform bietet Anwendern die Möglichkeit, aus drei verschiedenen Lastkurvenoptionen zu wählen.
- Load Step Curve. Der Testtyp ermöglicht den Vergleich der Reaktionszeiten unter der Betriebslast und unter der erwarteten Verkehrslast.
- Zielbasierte Kurve. Dieser Test ist nützlich, wenn Sie bereits einen vordefinierten Durchsatz (Transaktionsziel) oder die Anzahl der Besucher, die Sie während eines festen Zeitintervalls auf Ihrer Website erwarten, haben und sicherstellen möchten, dass die Website die Anforderungen erfüllt.
- Dynamische einstellbare Kurve. Sie können diesen Typ verwenden, um die Leistungsgrenzen der Website zu ermitteln oder die Serverkapazität zu planen, indem Sie den Benutzerdatenverkehr während des Tests manuell ändern.
Für die Zwecke dieses Beispiels suchen wir nach der Stimisz einer Anwendung, und wir arbeiten nicht mit einem vordefinierten Durchsatz oder Transaktionsziel, daher werden wir die zielbasierte Kurvenoption nicht in Betracht ziehen. Mit dem dynamisch einstellbaren Kurventest können Sie den Verkehr hochfahren, bis Sie die Sollbruchstelle finden, oder mit der Laststufenkurve können Sie die Ramp-up-Raten festlegen, bis Sie diese Sollbruchstelle finden.
Ein weiterer zu berücksichtigender Faktor ist die Transaktionslaufzeit. Nachdem Ihr Stresstestgerät erstellt wurde, finden Sie diesen Wert im Leistungsbericht nach dem Validierungsprozess. Wenn die Transaktionslaufzeit z. B. etwa 30 Sekunden beträgt, sollten Sie die Last für die doppelte Zeit halten, um sicherzustellen, dass die Ausführung der Transaktion abgeschlossen wird, auch wenn die Antwortzeit zunimmt.
Suchen des Anwendungs-Breaking-Point
Im Folgenden finden Sie die Ergebnisse eines einfachen HTTP-Stresstests unter Verwendung einer Lastschrittkurve mit einer Anfangsauslastung von 12 Benutzern pro Minute.
Wie Sie in den gelb markierten Bereichen sehen können, gibt es eine Zunahme der Antwortzeiten und der Anzahl von Fehlern, wenn die Anzahl der Benutzer im Laufe der Zeit erhöht wird. Abhängig von den Anforderungen der Anwendung kann dies an jeder Stelle, an der Fehler auftreten, als Sollbruchstelle angesehen werden. Oder Fälle, in denen die Antwortzeit von größter Bedeutung ist, kann der Anwendungsumbruchpunkt sein, in dem die Antwortzeit den vordefinierten Schwellenwert überschreitet.
Weitere Informationen zur Durchführung von Stresstests innerhalb der LoadView-Plattform finden Sie in unserer Knowledge Base.