Auslastungstests vs. Stresstests

Belastungs- und Belastungstests im Vergleich

 

Ein Auslastungstest misst definitionsgemäß die Leistung eines Systems unter einer erwarteten Last.

Im Gegensatz dazu überlastet ein Stresstest ein System, um die Sollbruchstelle zu finden.

Untersuchen der Unterschiede:

Belastung vs. Stressprüfung

 

Stressleistungstests Ein Auslastungstest ist ein geplanter Test zum Ausführen einer bestimmten Anzahl von Anforderungen an ein System, um die Funktionalität des Systems unter bestimmten Ebenen gleichzeitiger Anforderungen zu testen. Ein Auslastungstest stellt sicher, dass ein Websystem ein erwartetes Datenverkehrsvolumen verarbeiten kann und daher manchmal als Volumentest bezeichnet wird. Das Ziel eines Auslastungstests besteht darin, zu beweisen, dass ein System das erwartete Volumen mit minimaler bis akzeptabler Leistungseinbußen verarbeiten kann. Der Schwellenwert für eine akzeptable Leistungsminderung muss von den Testern als ein für den Endbenutzer akzeptabeler Wert definiert werden, damit benutzer nicht von der Site springen.

Ein Stresstest ist ein Test, der entwickelt wurde, um die Anzahl der gleichzeitigen Anforderungen auf einem System über einen Punkt hinaus zu erhöhen, an dem die Leistung beeinträchtigt wird, sogar bis zum vollständigen Ausfall. Wenn ein Auslastungstest (oder API-Test) den Höhepunkt in der Anzahl der gleichzeitigen Benutzer erreicht, erhöht ein grundlegender Stresstest die Auslastung des Systems weiter, bis die Ressourcen überlastet sind. Dadurch wird das System in einen Zustand eines potenziellen Fehlers gebracht, um zu sehen, wie das System damit umgeht und ob das System eine ordnungsgemäße Wiederherstellung durchführen kann.

Innerhalb dieser Definitionen eines Belastungstests und eines Belastungstests stellen wir fest, dass sie sicherlich nicht völlig unabhängig voneinander sind. Wenn Sie die oberen Grenzen eines Auslastungstests ausführen, führen Sie häufig effektiv einen Stresstest durch, bei dem Sie das System über die Grenzen der verfügbaren Ressourcen hinausschieben. An diesem Punkt werden möglicherweise Fehler in einem Auslastungstest angezeigt, die mit den Fehlern identisch sind, die normalerweise beim Ausführen eines Stresstests auftreten.

Wann Sie einen Auslastungstest oder Stresstest auswählen sollten

 

Ein Unterschied zwischen einem Auslastungstest und einem Belastungstest besteht darin, dass Sie Pausen in einen Auslastungstest einstecken können, um echten Benutzerdatenverkehr zu simulieren. Mit einem Stresstest können Sie so viele gleichzeitige Benutzer so schnell wie möglich ausführen, um übermäßigen Datenverkehr für einen Stresstest zu generieren.

Die Ziele eines Belastungstests unterscheiden sich deutlich von den Zielen eines Belastungstests. Ein Auslastungstest wird durchgeführt, um sicherzustellen, dass eine Website, Webanwendung oder API in der Lage ist, eine bestimmte Anzahl von Benutzern gleichzeitig zu verarbeiten. Lasttests werden häufig im Prozess der Kapazitätsplanung verwendet, um sicherzustellen, dass ein System das Wachstum auf bestimmte Ebenen des gleichzeitigen Datenverkehrs bewältigen kann.

Ein Stresstest wird verwendet, um ein System gezielt über seine beabsichtigte Kapazität hinaus zu pushen, um Komponenten zu identifizieren, die sich verlangsamen, Engpässe im System zu identifizieren und potenzielle Engpässe oder Fehlerquellen ans Licht zu bringen.

Häufig für Last- und Belastungstests verwendet:
Einrichten von Baseline-Leistungsmetriken

Auslastungstests werden in der Regel als eine Reihe von Schritten ausgeführt, bei denen das Testsystem eine Menge gleichzeitiger Benutzer initiiert, von denen bekannt ist, dass sie von der Infrastruktur unterstützt werden. Dadurch wird ein Basissatz von Leistungsdaten festgelegt, auf den verwiesen werden soll, wenn die Anzahl der gleichzeitigen Benutzer während des Tests erhöht wird. Der Leistungstest kann helfen, mehrere verschiedene Baselines zu bestimmen, z. B. die durchschnittliche Verbindungsgeschwindigkeit, die durchschnittliche Latenz und die durchschnittliche Zeit zum Herunterladen einer Datei fester Größe und mehr.

Sobald die Basisleistungswerte bekannt sind, wird die Anzahl der Benutzer auf eine Zahl erhöht, von der realistischerweise erwartet wird, dass sie die Website während eines Beispielzeitraums besucht. Der Test wird dann oft bei dieser statischen Anzahl von Benutzern für mehrere Minuten ausgeführt, um die Stabilität der Website zu überprüfen, nachdem sich das System auf der neuen Laststufe stabilisiert hat.

Virtuelle Benutzer

Es ist wichtig zu beachten, dass die Begriffe Baseline-Test und Benchmark-Test oft synonym verwendet werden, es gibt jedoch Unterschiede zwischen diesen beiden Begriffen. Baseline-Tests werden durchgeführt, um sicherzustellen, dass die Leistung einer Website oder Anwendung im Laufe der Zeit nicht abnimmt. Während eines Baselinetests werden beispielsweise Leistungsmetriken aufgezeichnet, sodass Ingenieure bei der zukünftigen Aktualisierung dieser Anwendung oder Website die neuen Leistungsmetriken testen und mit den vorherigen Metriken vergleichen können. Diese Baseline-Tests würden auch neue Code-, Software-, Hardware- und Netzwerkänderungen umfassen. Ziel ist es, eine konsistente Anwendung oder Website bereitzustellen, die wiederum eine positive Erfahrung für die Benutzer gewährleistet.

Benchmark-Tests sind die Praxis, die Anwendungsleistung mit bestimmten vordefinierten Branchen- oder Organisationsstandards und -anforderungen zu vergleichen. Wie Baseline-Tests umfassen Benchmark-Tests die Messung und Aufzeichnung der Leistung von Hardware, Software und Netzwerkbedingungen. Benchmark-Tests helfen, die Servicequalität für die eigenen Anforderungen einer Organisation oder im Vergleich zu anderen Organisationen zu messen. Diese Metriken helfen bei der Erstellung von SLAs (Service Level Agreements) für Organisationen und bieten einen garantierten Servicelevel für Benutzer oder Kunden. Lesen Sie mehr über Baseline- und Benchmark-Tests.

Ein Unterschied zwischen der Festlegung einer Baseline-Leistungsmetrik während eines Auslastungstests und eines Stresstests besteht darin, dass die Differenz zwischen der Baseline- und der Spitzenleistung dazu beiträgt, festzustellen, ob Sie über die richtigen Systeme verfügen, um Spitzenlasten zu bewältigen, während Sie sich während eines Stresstests mehr Sorgen über den Punkt machen, an dem das System belastet wird. oder sogar nicht mehr richtig funktioniert.

Laden oder Stresstests zum Identifizieren von Web-App-Engpässen

Webbasierte Anwendungen werden in der Regel in einem Browser ausgeführt, und wenn sie ordnungsgemäß programmiert werden, kann es aufgrund ihrer asynchronen Natur viele Hunderte oder Tausende gleichzeitiger Benutzer behandeln. Wenn Sie die erwartete Last innerhalb der Kapazität Ihres Systems generieren, sollten die Antwortzeiten der Anwendung innerhalb der generierten Richtlinien bleiben. Wenn Sie das System über diese Grenzen hinaus treiben, bewegen Sie sich in den Bereich der Stresstests, was das System absichtlich belastet, um die Komponenten zu identifizieren, die ausfallen (dies wird oft mit Open-Source-Tools wie JMeter durchgeführt). Daher wird jeder Test, der zum Identifizieren von Engpässen durchgeführt wird, in der Regel als Stresstest betrachtet (was sich von API-Tests und API-Überwachung unterscheidet).

sla-Bericht
Auslastungstests zum Einrichten von Service Level Agreements (SLAs)

 

Auslastungstests werden am besten in einer Produktionsumgebung durchgeführt, um die durchschnittlichen Antwortzeiten unter der erwarteten Benutzerauslastung zu verstehen. Diese durchschnittlichen Antwortzeiten werden zur Basis für akzeptable SLAs. Von hier aus liegt es an Ihnen, zusätzliche Schwellenwerte zu ermitteln, die unter Ihren SLAs in Bezug auf die erwartete Leistung für Ihre Kunden als inakzeptabel angesehen werden.

Lastprüfung für Kapazitätsplanung

Das Generieren einer erhöhten Auslastung einer Webanwendung kann dazu beitragen, die Anwendungsleistung für eine höhere Benutzerauslastung in der Zukunft vorherzusagen. Wenn die Anwendung innerhalb Ihrer SLA-Parameter reagiert, wird ein solcher Test als erfolgreiche Komponente in der Kapazitätsplanung angesehen. Wenn die während des Tests aufgezeichneten Leistungsmetriken außerhalb der wünschenswerten Parameter liegen, kann ein Auslastungstest zu einem Belastungstest werden, wenn Sie das System über die verfügbare Kapazität hinaus schieben.

Stresstests Web-App-Infrastruktur

Das Identifizieren des Punktes, an dem jede Komponente in Ihrer Infrastruktur fehlschlägt, ist ein wichtiger Bestandteil der Wartung einer skalierbaren Webanwendung. Mit effektiven Belastungstests können Sie jede Komponente durch eine Reihe verschiedener Tests isolieren, um die Fehlerquelle für diese Komponente zu bestimmen. Zu diesen Tests können gehören:

  • Isolieren des gesamten Datenverkehrs in eine bestimmte geografische Region.
  • Künstliche Beschränkung des verfügbaren Speicherplatzes.
  • Wiederholt eine besonders große GET-Anforderung senden.
  • Beschränken der maximalen Anzahl von Datenverbindungen.
  • Herunterladen einer großen Bilddatei.
  • Wiederholt es wird ein intensiver POST-Test gesendet, der stark in eine Datenbank schreibt.

Jeder Test wurde entwickelt, um eine bestimmte Komponente der Infrastruktur hervorzuheben, um die Fehlerpunkte, die Ausfallrate und die oberen Grenzwerte der Systemkapazität zu identifizieren. Stresstests können helfen, Engpässe bei kurzen intensiven Belastungen durch Virales Marketing, internationale Nachrichtenerkennung und schwere Online-Shopping-Tage wie Black Friday zu identifizieren.

Die Unterschiede zwischen Belastungstests und Stresstests

LoadView-Zusammenfassung

Ein Stresstest wird in der Regel den einen Teil des Systems oder einen anderen ausreizen, was schließlich zu Verlangsamungen und dann Abstürzen oder Nichtreaktionsfähigkeit führt. Es ist wichtig zu bestimmen, welche Komponenten im System die ersten sein werden, die während des Tests auf Probleme stoßen. Aus diesem Grund gibt es mehrere Komponenten, die Sie bei der Durchführung eines Stresstests überwachen sollten. Es ist erwähnenswert, dass je nach Anwendung, Software oder sogar Technologie, die in Ihrer Umgebung/Ihrem System verwendet wird, die Metriken, die Sie während eines Stresstests messen, variieren können. Die folgende Liste comp

  • Reaktionszeiten. Zeit, die benötigt wird, um eine Antwort zu erhalten, nachdem eine Anforderung gesendet wurde. Dies ist besonders wichtig für die Messung der Reaktionszeiten, wie sie von Anwendern wahrgenommen werden
  • Hardwareeinschränkungen. Dazu gehören Überwachung cpu-Auslastung, RAM, Festplatten-E/A. Wenn die Antwortzeiten verzögert oder langsam sind, könnten diese Hardwarekomponenten potenzielle Schuldige sein.
  • Durchsatz. Wie viele Daten während der Testdauer gesendet/empfangen werden, basierend auf Ihren Bandbreitenstufen.
  • Datenbank liest und schreibt. Wenn Ihre Anwendung mehrere Systeme verwendet, können Belastungstests angeben, welches System oder welche Einheit der Engpass ist.
  • Öffnen Sie Datenbankverbindungen. Große Datenbanken können die Leistung stark beeinträchtigen und die Reaktionszeiten verlangsamen.
  • Inhalte von Drittanbietern. Webseiten und Anwendungen basieren auf vielen Komponenten von Drittanbietern. Stresstests zeigen Ihnen, welche sich auf die Leistung Ihrer Seite oder Anwendung auswirken können.

Wenn Sie auf der Serverseite nicht über ausreichende Überwachungssysteme verfügen, bietet die Dotcom-Monitor-Plattform eine Performance-Counter-Monitoring-Lösung für die vollständige End-to-End-Serverleistungsüberwachung. Diese Leistungsindikatoren werden direkt auf Ihren Servern installiert, um Windows-, Linux- oder SNMP-Leistungsindikatoren (Simple Network Management Protocol) zu überwachen. Darüber hinaus gibt es eine Lösung für die Überwachung von benutzerdefinierten Leistungsindikatoren von Ihren Geräten und Servern. Weitere Informationen zur Überwachung von Leistungsindikatoren finden Sie auf unserer Seite Performance Counter Monitoring-Lösungen.

Probleme mit einem dieser Elemente können wie folgender Art und Art und Art und Art und Art und Art und Art und Art und Art und Art und Art und Art und Art und Art und Art

  • Langsame Erste Paketantwort.
  • Erhebliche Verzögerungen zwischen GET/POST-Anforderungen und Antworten.
  • Längere als normale Seitenladezeiten.
  • Webseite beim Laden des Timeouts.
  • Serverfehlercodes zurückgegeben.

Während dieselben Probleme zunächst während eines Auslastungstests erkannt werden können, besteht die Idee hinter einem Auslastungstest darin, erwartete Lasten zu simulieren, die das System regelmäßig verarbeiten kann. Manchmal kann es der Fall sein, wenn das System kurzzeitig zu Verlangsamungen kommt, während Ressourcen der erhöhten Last zugewiesen werden, aber in den meisten Fällen sollte das System in der Lage sein, sich von der anfänglichen Zuweisung zu erholen und die normale Leistung im Rahmen eines Auslastungstests wieder aufzunehmen.

Wenn der Auslastungstest weiterhin Probleme erkennt, müssen Sie einen genaueren Blick auf die Systemleistungsindikatoren werfen, um die Ursache der Verlangsamung oder des Fehlers zu ermitteln. Dies ist der Fall, wenn ein Auslastungstest zu einem Belastungstest wird, da die Last unerwartet Leistungsprobleme verursacht. Kontaktieren Sie unser Team für eine Demo der LoadView-Plattform. Ein Performance-Ingenieur führt Sie durch den gesamten Belastungs- und Belastungstestprozess. Von der Erstellung von Skripts für Webseiten- oder Webanwendungsszenarien bis hin zur Konfiguration und dem Starten des Tests führen sie Sie durch den gesamten Prozess und beantworten alle Fragen, die Sie auf dem Weg haben.

Führen Sie heute einen Last- oder Stresstest durch!

Keine Kreditkarte. Keine Verpflichtung. Bezahlen Sie, wie Sie gehen.