Hilfsbegriffe für Lasttests
Lasttests sind ein wesentlicher Aspekt von Performance-Tests in der Softwareentwicklung.
Dabei werden simulierte Arbeitslasten auf ein System, eine Anwendung oder ein Netzwerk angewendet, um dessen Verhalten sowohl unter normalen als auch unter Spitzenbedingungen zu beobachten.
Dieser Prozess hilft dabei, potenzielle Engpässe zu identifizieren, die Leistungsstabilität zu gewährleisten und die allgemeine Benutzererfahrung zu verbessern.
Das Verständnis der wichtigsten Definitionen und Terminologien im Zusammenhang mit Auslastungstests ist wichtig, wenn Sie gerade erst mit Auslastungstests beginnen.
Terminologie und Definitionen
Ausdauertests
Bei Dauertests, die auch als Soak-Tests bezeichnet werden, wird ein System über einen längeren Zeitraum mit einer bestimmten Last betrieben, um Leistungsprobleme zu identifizieren, die bei Kurzzeittests möglicherweise nicht offensichtlich sind.
Diese Art von Tests hilft dabei, Speicherlecks, Ressourcenerschöpfung und andere Probleme aufzudecken, die sich auf die langfristige Systemstabilität und -leistung auswirken können.
Spike-Tests
Spike-Tests sind eine Untergruppe von Stresstests, bei denen das System einem plötzlichen und extremen Anstieg der Last ausgesetzt wird.
Der Zweck besteht darin, zu beobachten, wie Ihr System mit unerwarteten Spitzen in der Benutzeraktivität umgeht und ob es die Leistung aufrechterhalten kann, ohne abzustürzen oder sich erheblich zu verschlechtern.
Volumentests
Volumentests konzentrieren sich auf die Fähigkeit Ihres Systems, große Datenmengen zu verarbeiten.
Bei dieser Art von Tests werden die Datenbankleistung, die Datenspeicherung und die Abrufzeiten bewertet, wenn sie einer erheblichen Datenmenge ausgesetzt sind.
Volumentests stellen sicher, dass Ihr System große Datasets effizient verwalten und verarbeiten kann, ohne dass die Leistung beeinträchtigt wird.
Skalierbarkeitstests
Bei Skalierbarkeitstests wird die Fähigkeit Ihres Systems bewertet, als Reaktion auf Änderungen der Benutzerauslastung oder des Datenvolumens nach oben oder unten zu skalieren.
Anhand dieser Tests können Sie ermitteln, ob Ihr System erhöhte Arbeitslasten bewältigen kann, indem Sie Ressourcen hinzufügen (zentrales Hochskalieren) oder die Last auf mehrere Server verteilen (horizontales Hochskalieren).
Skalierbarkeitstests stellen sicher, dass die Anwendung mit der Benutzernachfrage wachsen kann.
Baseline-Tests
Bei Baseline-Tests wird die Leistung Ihres Systems unter einer vordefinierten, stabilen Last gemessen, um eine Leistungsbasis zu erstellen.
Diese Baseline dient als Referenzpunkt für zukünftige Auslastungstests und hilft beim Identifizieren von Leistungsverbesserungen oder Regressionen.
Baseline-Tests sind unerlässlich, um Leistungstrends im Laufe der Zeit zu verfolgen.
Durchsatz
Der Durchsatz bezieht sich auf die Anzahl der Transaktionen oder Anfragen, die von Ihrem System in einem bestimmten Zeitraum verarbeitet wurden.
Sie wird in der Regel in Transaktionen pro Sekunde (TPS) oder Anforderungen pro Sekunde (RPS) gemessen.
Der Durchsatz ist eine kritische Metrik bei Auslastungstests, da er die Fähigkeit Ihres Systems angibt, Benutzeranforderungen effizient zu verarbeiten.
Latenz
Die Latenz ist die Zeit, die eine Anforderung benötigt, um vom Client zum Server und zurück zu gelangen.
Dies ist ein wichtiger Faktor bei Auslastungstests, da eine hohe Latenz zu einer schlechten Benutzererfahrung führen kann.
Die Latenz wird in der Regel in Millisekunden (ms) gemessen und kann durch Netzwerkverzögerungen, Serververarbeitungszeit und andere Faktoren beeinflusst werden.
Reaktionszeit
Die Antwortzeit ist die Gesamtzeit, die von dem Moment vergeht, in dem ein Benutzer eine Anfrage sendet, bis Ihr System die Antwort abgeschlossen hat.
Dazu gehören die Latenz und die Zeit, die der Server benötigt, um die Anforderung zu verarbeiten und eine Antwort zu generieren.
Die Reaktionszeit ist eine wichtige Metrik bei Auslastungstests, die die Erfahrung des Benutzers mit der Anwendung widerspiegelt.
Fehlerrate
Die Fehlerrate ist der Prozentsatz der Anforderungen, die während des Auslastungstests zu Fehlern führen.
Eine hohe Fehlerrate kann auf Probleme wie Serverabstürze, Zeitüberschreitungen oder Anwendungsfehler hinweisen.
Die Überwachung von Fehlerraten ist unerlässlich, um Probleme zu identifizieren und zu beheben, die sich auf die Systemleistung und -zuverlässigkeit auswirken könnten.
Gleichzeitige Benutzer
Gleichzeitige Benutzer bezieht sich auf die Anzahl der Benutzer, die gleichzeitig mit Ihrem System interagieren.
Bei Auslastungstests hilft die Simulation gleichzeitiger Benutzer bei der Bewertung, wie sich Ihr System in realistischen Nutzungsszenarien verhält.
Ziel ist es, sicherzustellen, dass die Anwendung die erwartete Anzahl gleichzeitiger Benutzer ohne Leistungseinbußen verarbeiten kann.
Virtuelle Benutzer
Virtuelle Benutzer (Virtual User, VUs) sind simulierte Benutzer, die von Auslastungstesttools generiert werden, um reales Benutzerverhalten nachzuahmen.
Virtuelle Benutzer sind wichtig, um realistische Lastszenarien zu erstellen und die Leistung Ihres Systems unter verschiedenen Bedingungen zu messen.
Sie können verschiedene Aktionen ausführen, z. B. Durchsuchen, Suchen und Kaufen, sodass Sie reale Nutzungsmuster simulieren können.
Lastgenerator
Load Generator ist ein Tool oder eine Software, die virtuelle Benutzer erstellt und Benutzerinteraktionen mit Ihrem System während des Auslastungstests simuliert.
Lastgeneratoren können auf mehrere Maschinen verteilt werden, um viele virtuelle Benutzer und eine erhebliche Belastung Ihres Systems zu erzeugen.
Last-Injektor
Ein Lastinjektor ist eine Komponente in einem Lasttest-Setup, die für die Generierung der Last auf dem zu testenden System verantwortlich ist.
Es arbeitet mit dem Lastgenerator zusammen, um die Last auf mehrere Injektoren zu verteilen und so eine realistische und verteilte Last in Ihrem System zu gewährleisten.
Lastinjektoren tragen zu einer höheren Skalierbarkeit und einer genaueren Simulation von Benutzerinteraktionen bei.
Engpass
Ein Engpass ist ein Punkt in Ihrem System, an dem die Leistung eingeschränkt ist, was zu langsameren Reaktionszeiten oder geringerem Durchsatz führt.
Das Identifizieren und Beheben von Engpässen ist ein entscheidender Aspekt von Lasttests, da sie sich erheblich auf die Gesamtleistung der Anwendung auswirken können.
Zu den häufigsten Engpässen gehören CPU, Arbeitsspeicher, Festplatten-E/A und Netzwerkbandbreite.
Ressourcenauslastung
Die Ressourcenauslastung bezieht sich auf den Verbrauch von Systemressourcen wie CPU, Arbeitsspeicher, Datenträger und Netzwerk während des Auslastungstests.
Die Überwachung der Ressourcenauslastung hilft dabei, potenzielle Leistungsprobleme zu identifizieren und Ihr System zu optimieren, um eine effiziente Nutzung der Ressourcen zu gewährleisten.
Eine hohe Ressourcenauslastung kann darauf hinweisen, dass die Anwendung skaliert oder optimiert werden muss.
Think Time
Die Reaktionszeit ist die simulierte Verzögerung zwischen aufeinanderfolgenden Aktionen eines virtuellen Benutzers während des Auslastungstests.
Es ahmt die Zeit nach, die ein echter Benutzer zwischen den Aktionen mit dem Nachdenken oder Interagieren mit der Anwendung verbringen würde.
Die Bedenkzeit trägt dazu bei, realistischere Lastszenarien zu erstellen, und bietet ein besseres Verständnis dafür, wie Ihr System unter typischen Nutzungsbedingungen funktioniert.
Durchschreitend
Die Taktung ist das Intervall zwischen den Iterationen eines Testskripts, das von einem virtuellen Benutzer ausgeführt wird.
Es steuert die Häufigkeit, mit der virtuelle Benutzer ihre Aktionen ausführen.
Durch die Anpassung des Tempos können Ihre Testteams die Auslastung Ihres Systems kontrollieren und sicherstellen, dass es ein realistisches Benutzerverhalten widerspiegelt.
Das richtige Tempo ist entscheidend für die genaue Simulation realer Nutzungsmuster.
Protokoll
Protokoll bezieht sich auf die Regeln, die die Kommunikation zwischen Clients und Servern regeln.
Bei Auslastungstests ist die Auswahl des geeigneten Protokolls (z. B. HTTP, HTTPS, FTP oder SOAP) wichtig, um Benutzerinteraktionen mit Ihrem System genau zu simulieren.
Unterschiedliche Protokolle können sich auf die Leistung auswirken, und ihr Verständnis hilft beim Entwerfen effektiver Auslastungstests.
Iteration
Eine Iteration in Auslastungstests bezieht sich auf die einzelne Ausführung eines Testskripts durch einen virtuellen Benutzer.
Jede Iteration umfasst das Ausführen einer Reihe von Aktionen, die im Testskript definiert sind, z. B. das Anmelden, das Navigieren durch die Anwendung und das Abschließen von Transaktionen.
Mehrere Iterationen helfen dabei, kontinuierliche Benutzeraktivitäten zu simulieren und eine umfassende Bewertung der Systemleistung zu ermöglichen.
Transaktion
Eine Transaktion ist eine Reihe von verwandten Aktionen, die von einem Benutzer ausgeführt werden und die gruppiert werden, um ihre kollektive Leistung zu messen.
Bei Auslastungstests helfen Transaktionen dabei, bestimmte Punkte in der User Journey zu identifizieren, die Leistungsprobleme verursachen können.
Eine Anmeldetransaktion kann z. B. die Eingabe eines Benutzernamens und eines Kennworts, das Senden des Formulars und den Erhalt einer Bestätigungsnachricht umfassen.
Hochfahren und Hochfahren
Ramp-Up ist die allmähliche Erhöhung der Anzahl der virtuellen Benutzer oder der Last auf Ihrem System während der Anfangsphase eines Auslastungstests.
Ramp-Down ist die allmähliche Verringerung der Anzahl der virtuellen Benutzer oder der Last während der letzten Phase des Tests.
Sowohl Ramp-up als auch Ramp-Down helfen dabei, reale Szenarien zu simulieren und plötzliche Spitzen zu vermeiden, die zu unrealistischen Ergebnissen führen könnten.
Test-Skript
Ein Testskript ist eine Reihe von Anweisungen, die von virtuellen Benutzern während des Auslastungstests ausgeführt werden.
Testskripte definieren die Aktionen und Transaktionen, die von virtuellen Benutzern ausgeführt werden, z. B. Anmelden, Suchen und Einkaufen.
Gut konzipierte Testskripts sind entscheidend für genaue Auslastungstests und zuverlässige Leistungsergebnisse.
SLAs
Ein Service Level Agreement (SLA) ist eine formelle Vereinbarung zwischen Dienstanbietern und Kunden, die das erwartete Serviceniveau definiert, einschließlich Leistungsmetriken wie Reaktionszeit, Durchsatz und Verfügbarkeit.
Auslastungstests tragen dazu bei, dass Ihr System die SLA-Anforderungen erfüllt und eine zufriedenstellende Benutzererfahrung bietet.
Überwachung und Analyse
Die Überwachung und Analyse umfasst die Nachverfolgung von Systemleistungsmetriken, z. B. Antwortzeiten, Durchsatz und Ressourcenauslastung während Auslastungstests.
Die Analyse dieser Metriken hilft dabei, Leistungsprobleme zu identifizieren, das Systemverhalten zu verstehen und die Anwendung zu optimieren.
Eine effektive Überwachung und Analyse sind entscheidend für erfolgreiche Lasttests.
Schlussfolgerung
Auslastungstests sind eine wesentliche Methode, um die Leistung und Zuverlässigkeit von Softwareanwendungen sicherzustellen.
Das Verständnis der wichtigsten Definitionen und Terminologien im Zusammenhang mit Auslastungstests hilft Ihnen, effektive Auslastungstests zu entwerfen und auszuführen, Leistungsprobleme zu identifizieren und Ihre Anwendungen für eine bessere Benutzererfahrung zu optimieren.
Durch die Beherrschung dieser Konzepte können Ihre Teams robuste Systeme erstellen, die Ihren Benutzererwartungen entsprechen und unter unterschiedlichen Lastbedingungen eine gute Leistung erbringen.
Nächste Stufe
Erleben Sie unvergleichliche Funktionen mit grenzenloser Skalierbarkeit. Keine Kreditkarte, kein Vertrag.