REL12-BP03 Testen von Skalierbarkeits- und Leistungsanforderungen - Säule der Zuverlässigkeit

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.

REL12-BP03 Testen von Skalierbarkeits- und Leistungsanforderungen

Nutzen Sie Techniken wie Lasttests, um zu prüfen, ob die Workload die Skalierungs- und Leistungsanforderungen erfüllt.

In der Cloud können Sie bei Bedarf eine Testumgebung in Produktionsgröße für Ihren Workload erstellen. Anstatt sich auf eine herunterskalierte Testumgebung zu verlassen und dadurch ungenaue Vorhersagen des Produktionsverhaltens zu riskieren, können Sie in der Cloud eine Testumgebung bereitzustellen, die Ihrer erwarteten Produktionsumgebung sehr nahe kommt. Diese Umgebung ermöglicht Ihnen Tests in einer genaueren Simulation der realen Bedingungen, denen Ihre Anwendung ausgesetzt ist.

Neben der Durchführung von Leistungstests ist es wichtig, sicherzustellen, dass Ihre Basisressourcen, Skalierungseinstellungen, Service Quotas und die Ausfallsicherheit unter Auslastung wie erwartet funktionieren. Dieser ganzheitliche Ansatz stellt sicher, dass Ihre Anwendung auch unter den anspruchsvollsten Bedingungen zuverlässig skaliert und nach Bedarf ausgeführt werden kann.

Gewünschtes Ergebnis: Ihr Workload behält sein erwartetes Verhalten auch bei Spitzenlast bei. Sie kümmern sich proaktiv um leistungsbezogene Probleme, die auftreten können, wenn die Anwendung wächst und sich weiterentwickelt.

Typische Anti-Muster:

  • Sie verwenden Testumgebungen, die nicht genau mit der Produktionsumgebung übereinstimmen.

  • Sie behandeln Lasttests als separate, einmalige Aktivität und nicht als integrierten Bestandteil der Continuous Integration (CI)-Pipeline für die Bereitstellung.

  • Sie definieren keine klaren und messbaren Leistungsanforderungen wie beispielsweise Ziele in Bezug auf Reaktionszeit, Durchsatz und Skalierbarkeit.

  • Sie nutzen Szenarien mit unrealistischer oder unzureichender Last für Ihre Tests und versäumen es, Spitzenlasten, plötzliche Spitzen und anhaltend hohe Lasten zu testen.

  • Sie unterziehen den Workload keinem Belastungstest, indem Sie die erwarteten Lastgrenzen überschreiten.

  • Sie verwenden unzureichende oder unangemessene Tools für Lasttests und die Erstellung von Leistungsprofilen.

  • Sie verfügen nicht über umfassende Überwachungs- und Warnsysteme, um Leistungsmetriken zu verfolgen und Anomalien zu erkennen.

Vorteile der Nutzung dieser bewährten Methode:

  • Mithilfe von Lasttests können Sie potenzielle Leistungsengpässe in Ihrem System vor dem Übergang in die Produktion erkennen. Wenn Sie den Datenverkehr und die Workloads auf Produktionsebene simulieren, können Sie Bereiche identifizieren, in denen Ihr System möglicherweise Schwierigkeiten hat, die Last zu bewältigen, beispielsweise langsame Reaktionszeiten, Ressourcenengpässe oder Systemausfälle.

  • Wenn Sie Ihr System unter verschiedenen Lastbedingungen testen, können Sie die Ressourcenanforderungen zur Unterstützung Ihres Workloads besser verstehen. Mithilfe dieser Informationen können Sie fundierte Entscheidungen über die Ressourcenzuweisung treffen und eine übermäßige oder zu geringe Bereitstellung von Ressourcen verhindern.

  • Um potenzielle Fehlerquellen zu identifizieren, können Sie beobachten, wie sich Ihr Workload in Situationen mit hoher Last verhält. Diese Informationen helfen Ihnen, die Zuverlässigkeit und Ausfallsicherheit Ihres Workloads zu verbessern, indem Sie nach Bedarf Fehlertoleranzmechanismen, Failover-Strategien und Redundanzmaßnahmen implementieren.

  • Sie erkennen und beheben Leistungsprobleme frühzeitig und können so die kostspieligen Folgen von Systemausfällen, langsamen Reaktionszeiten und unzufriedenen Benutzern vermeiden.

  • Während der Tests erfasste detaillierte Leistungsdaten und Profilinformationen können Ihnen helfen, leistungsbezogene Probleme zu beheben, die in der Produktion auftreten können. Dies kann eine schnellere Reaktion auf Vorfälle und eine zügigere Behebung von Problemen ermöglichen, wodurch die Auswirkungen auf die Benutzer und den Betrieb Ihres Unternehmens verringert werden.

  • In bestimmten Branchen können proaktive Leistungstests dazu beitragen, dass Ihr Workload die Compliance-Standards erfüllt, wodurch das Risiko von Strafen oder rechtlichen Problemen verringert wird.

Risikostufe bei fehlender Befolgung dieser bewährten Methode: Hoch

Implementierungsleitfaden

Der erste Schritt besteht darin, eine umfassende Teststrategie zu definieren, die alle Aspekte der Skalierungs- und Leistungsanforderungen abdeckt. Definieren Sie zunächst klar die Servicelevel-Ziele (SLOs, Service-Level Objectives) Ihres Workloads auf der Grundlage Ihrer Geschäftsanforderungen, also beispielsweise Durchsatz, Latenzhistogramm und Fehlerrate. Entwerfen Sie dann eine Reihe von Tests, mit denen verschiedene Lastszenarien simuliert werden können, von durchschnittlicher Auslastung bis hin zu plötzlichen Spitzen und anhaltenden Spitzenlasten. Stellen Sie sicher, dass das Verhalten des Workloads Ihren SLOs entspricht. Diese Tests sollten automatisiert und in Ihre Pipeline für kontinuierliche Integration und Bereitstellung integriert werden, um Leistungsrückgänge frühzeitig im Entwicklungsprozess zu erkennen.

Um die Skalierung und Leistung effektiv testen zu können, sollten Sie in die richtigen Tools und eine geeignete Infrastruktur investieren. Hierzu gehören Tools für Lasttests, mit denen ein realistischer Benutzerverkehr generiert werden kann, Tools für die Erstellung von Leistungsprofilen zur Ermittlung von Engpässen und Überwachungslösungen zur Verfolgung wichtiger Metriken. Wichtig ist es sicherzustellen, dass Ihre Testumgebungen in Bezug auf Infrastruktur und Umgebungsbedingungen möglichst genau mit der Produktionsumgebung übereinstimmen, um möglichst genaue Testergebnisse zu erzielen. Verwenden Sie Infrastructure-as-Code- und containerbasierte Anwendungen, um die zuverlässige Replikation und Skalierung produktionsähnlicher Setups zu vereinfachen.

Skalierungs- und Leistungstests sind ein fortlaufender Prozess, keine einmalige Aktivität. Implementieren Sie eine umfassende Überwachung und Warnmeldungen, um die Leistung der Anwendung in der Produktion zu verfolgen, und verwenden Sie diese Daten, um Ihre Teststrategien und Optimierungsbemühungen kontinuierlich zu verbessern. Analysieren Sie Leistungsdaten regelmäßig, um neu auftretende Probleme zu identifizieren, neue Skalierungsstrategien zu testen, Optimierungen vorzunehmen und so die Effizienz und Zuverlässigkeit der Anwendung zu verbessern. Wenn Sie einen iterativen Ansatz verfolgen und kontinuierlich aus Produktionsdaten lernen, können Sie überprüfen, ob sich Ihre Anwendung an variable Benutzeranforderungen anpassen und im Laufe der Zeit Ausfallsicherheit und eine optimale Leistung aufrechterhalten kann.

Implementierungsschritte

  1. Legen Sie klare und messbare Leistungsanforderungen fest, beispielsweise Ziele in Bezug auf Reaktionszeit, Durchsatz und Skalierbarkeit. Diese Anforderungen sollten auf den Nutzungsmustern Ihres Workloads, den Erwartungen der Benutzer und Ihren Geschäftsanforderungen basieren.

  2. Wählen und konfigurieren Sie ein Tool für Lasttests, das die Lastmuster und das Benutzerverhalten in Ihrer Produktionsumgebung genau nachahmen kann.

  3. Richten Sie eine Testumgebung ein, die der Produktionsumgebung, einschließlich Infrastruktur und Umgebungsbedingungen, sehr nahe kommt, um die Genauigkeit Ihrer Testergebnisse zu verbessern.

  4. Erstellen Sie eine Testsuite, die eine Vielzahl von Szenarien abdeckt, von durchschnittlichen Nutzungsmustern über Spitzenlasten und kurzfristige Spitzen bis hin zu anhaltend hohen Lasten. Integrieren Sie die Tests in Ihre Pipelines für die kontinuierliche Integration und Bereitstellung, um Leistungsrückgänge schon früh im Entwicklungsprozess zu erkennen.

  5. Führen Sie Lasttests durch, um den tatsächlichen Benutzerverkehr zu simulieren und zu verstehen, wie sich Ihre Anwendung unter verschiedenen Lastbedingungen verhält. Überschreiten Sie die erwartete Last, um Ihre Anwendung einem Stresstest zu unterziehen, und beobachten Sie das Verhalten der Anwendung. Prüfen Sie beispielsweise, ob es zu einer Verschlechterung der Reaktionszeit, zu einer Ressourcenüberlastung oder zu Systemausfällen kommt. Auf diese Weise können Sie die Belastungsgrenze Ihrer Anwendung ermitteln und fundierte Skalierungsstrategien entwickeln. Bewerten Sie die Skalierbarkeit Ihres Workloads, indem Sie die Last schrittweise erhöhen, und messen Sie die Auswirkungen auf die Leistung, um Skalierungsgrenzen zu ermitteln und zukünftige Kapazitätsanforderungen zu planen.

  6. Implementieren Sie eine umfassende Überwachung und Warnmeldungen, um Leistungsmetriken zu verfolgen, Anomalien zu erkennen und Skalierungsaktionen oder Benachrichtigungen einzuleiten, wenn Schwellenwerte überschritten werden.

  7. Überwachen und analysieren Sie die Leistungsdaten kontinuierlich, um Bereiche mit Verbesserungspotenzial zu identifizieren. Verbessern Sie Ihre Teststrategien und Optimierungsbemühungen durch Wiederholung.

Ressourcen

Zugehörige bewährte Methoden:

Zugehörige Dokumente:

Zugehörige Beispiele:

Zugehörige Tools: