Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Grundlegende Planung für Lasttests
Um das richtige Tool und die richtige Konfiguration für den Lasttest zu finden, sollten Sie sich darüber im Klaren sein, warum Sie den Test ausführen. Die folgenden Fragen müssen mit der richtigen Art von Test beantwortet werden:
-
Wie viel Last kann meine Anwendung aushalten?
-
Kann meine Anwendung X Last bewältigen?
-
Wird meine Anwendung automatisch hoch- und herunterskaliert?
-
Verschlechtert sich das Verhalten meiner Anwendung mit der Zeit bei X Last?
-
Funktioniert meine Anwendung? (Dies ist kein typischer Lasttest, aber Sie können Lasttest-Tools verwenden, um festzustellen, ob Ihre Anwendung wie erwartet funktioniert.)
Ermitteln Sie die Testkomplexität
Die Komplexität des Tests hängt davon ab, wie vollständig Ihre Bewertung sein wird. Grundlegende Tools wie Hey
In anderen Fällen benötigen Sie den Test möglicherweise, um ein komplexes Verhalten auszuführen. Sie müssen sich beispielsweise anmelden, bevor Sie einen Vorgang starten, oder Sie testen einen Bestellvorgang, der die Auswahl eines Artikels und die Durchführung des Kaufs umfasst. Dies kann als Szenario verstanden werden. Testszenarien erfordern komplexere Tools für Lasttests, mit denen Sie den Workload an reale Situationen anpassen können. Dies führt zu Ergebnissen, anhand derer Sie Aussagen über die Leistung treffen können, die Endbenutzer erwarten werden.
Komplexe Tests führen zu einer höheren Belastung des lasterzeugenden Systems. Bei der Ausführung von Lasttests müssen Sie nicht nur das Tool berücksichtigen, sondern auch das System, auf dem das Tool ausgeführt wird, wobei die CPU und die Netzwerkbandbreite die wichtigsten Aspekte sind. Ein schlecht konzipiertes Lasttest-Computersystem kann zu falschen Ergebnissen führen. Beispielsweise reicht ein einzelner Computer nicht aus, um die Last für ein leistungsstarkes Ziel zu erzeugen. In diesem Fall müssen Sie einen verteilten Lasttest einrichten. Andererseits kann ein leistungsstarkes Tool mit einem einzigen Server mehr Last erzeugen. Dies wird in der Erörterung des Testaufbaus ausführlicher behandelt.
Messung und Einrichtung
Die Repräsentabilität der Testumgebung muss berücksichtigt werden. Wenn Sie eine riesige Shopping-Site mit Tausenden von Servern betreiben, kann es schwierig werden, die Produktion zu testen, ohne die Endbenutzer zu beeinträchtigen, oder eine Testumgebung zu erstellen, die der Größe der Website entspricht. Außerdem erfordert die Erzeugung eines ausreichenden Verkehrsaufkommens, um das System in dieser Größenordnung zu belasten, einen ausgeklügelten Lasttestaufbau. Aus diesem Grund werden Lasttests in der Regel auf kleineren, vergleichbaren Setups ausgeführt, anhand derer Sie Annahmen über die Produktionsumgebung ziehen können. Tests, die Baselines oder funktionale Anforderungen festlegen, können in Produktionsumgebungen ausgeführt werden.
Es ist eine gute Praxis, Testumgebungen für nachfolgende Tests zu dokumentieren, so dass Sie eine klar definierte Spezifikation haben, mit welchen Ergebnissen Sie für welche Größe der Zielumgebung rechnen können.
Berücksichtigen Sie alle Elemente der Infrastruktur, die vom Lasttest betroffen sind. Der Test untersucht zwar häufig die CPU und den Arbeitsspeicher der Hosts, es gibt jedoch auch andere Nebenwirkungen, die berücksichtigt werden müssen.
Ein typischer Nebeneffekt ist, dass die Netzwerkbandbreite für die Kommunikation zwischen Ihren Services an ihre Grenzen stoßen kann. Bei Services, die über das Internet verbunden sind, oder bei verteilten Systemen basiert die Kommunikation in der Regel auf einem Netzwerk. Die Verwendung eines Lasttests, der die Anwendung belastet, belastet auch die zugrunde liegende Netzwerkinfrastruktur.
Lastmodellierung und abgestufte Tests
Für verschiedene Tests können Sie modellieren, wie viel Last im Verlauf des Tests erzeugt wird. Eine grundlegende Methode besteht darin, eine schrittweise Progression zu erstellen, die die Last im Laufe der Zeit schrittweise erhöht. Dadurch werden für jeden Schritt unterschiedliche Datenpunkte erstellt, sodass Sie detailliertere Schlüsse ziehen können als bei einem einzigen Testlauf. Um einen Grenzwert zu finden, der für Ihre Anwendung relevant ist, empfiehlt es sich, den Test mit einer Last zu beginnen, die unter der typischen Nutzung liegt, bei der Sie Höchstleistung erwarten. Wenn Sie die Last schrittweise erhöhen, werden Sie die Grenze erkennen, an der sich die Anwendungsleistung verschlechtert. Die Ergebnisse zeigen, ob das erwartete Verhalten weiterhin gültig ist und ob sich Ihre Anwendung in fehlerhaften Situationen erwartungsgemäß verhält. Wenn Sie beispielsweise über dem Grenzwert testen, könnten Sie davon ausgehen, dass Ihre Anwendung Ladung abwirft
Mithilfe komplexer Tools können Sie ein Muster als Konfiguration für Ihren Test einrichten. Dadurch wird definiert, wie viel Last in einem bestimmten Zeitraum erzeugt wird und wie sie zunehmen oder abnehmen wird.
Bei den meisten grundlegenden Tools handelt es sich um Befehlszeilentools, für die Sie selbst ein Skript für eine Lösung erstellen müssen. Wenn Sie Ihre eigenen Skripts schreiben, stellen Sie sicher, dass Sie nicht versehentlich Messwerte überschreiben, die Sie behalten möchten. Ausgabedateien sollten für jede Iteration neue Suffixe haben, damit Sie die Ergebnisse Ihrer vorherigen Iteration nicht überschreiben.