PERF05-BP04 Durchführen von Lasttests für den Workload - AWS Well-Architected Framework

PERF05-BP04 Durchführen von Lasttests für den Workload

Führen Sie für den Workload Lasttests durch, um sicherzustellen, dass er die Produktionslast bewältigen kann, und identifizieren Sie Leistungsengpässe.

Typische Anti-Muster:

  • Sie führen Lasttests für einzelne Teile der Workload durch, aber nicht für die gesamte Workload.

  • Sie führen Lasttests in einer Infrastruktur durch, die sich von Ihrer Produktionsumgebung unterscheidet.

  • Sie führen Lasttests nur für die erwartete Last durch und nicht für noch größere Lasten, um mögliche künftige Probleme besser vorherzusehen.

  • Sie führen Lasttests durch, ohne die Amazon EC2-Testrichtlinien zu lesen oder ein Formular für die Einreichung simulierter Ereignisse abzusenden. Dies führt dazu, dass Ihr Test nicht ausgeführt werden kann, da er wie ein Denial-of-Service-Ereignis aussieht.

Vorteile der Nutzung dieser bewährten Methode: Die Messung der Leistung im Rahmen eines Lasttests gibt Aufschluss darüber, wo bei zunehmender Last mit Auswirkungen zu rechnen ist. Auf diese Weise können Sie erforderliche Änderungen vorhersehen, bevor sie sich auf Ihre Workload auswirken.

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: niedrig

Implementierungsleitfaden

Lasttests in der Cloud sind ein Prozess zur Messung der Leistung eines Cloud-Workloads unter realistischen Bedingungen mit erwarteter Benutzerlast. Dieser Prozess beinhaltet die Bereitstellung einer produktionsähnlichen Cloud-Umgebung, die Verwendung von Lasttest-Tools zur Lastgenerierung und die Analyse von Metriken, um die Fähigkeit Ihres Workloads zu bewerten, mit einer realistischen Last umzugehen. Verwenden Sie für Lasttests synthetische oder bereinigte Daten und entfernen Sie sensible oder personenbezogene Informationen. Führen Sie automatisch Lasttests als Teil Ihrer Bereitstellungs-Pipeline durch und vergleichen Sie die Ergebnisse mit vordefinierten KPIs und Schwellenwerten. Dieser Prozess hilft Ihnen dabei, die erforderliche Leistung weiterhin zu erreichen.

Implementierungsschritte

  • Testziele definieren: Identifizieren Sie die Leistungsaspekte Ihres Workloads, das Sie bewerten möchten, z. B. Durchsatz und Reaktionszeit.

  • Testtool auswählen: Wählen und konfigurieren Sie das Lasttest-Tool, das zu Ihrem Workload passt.

  • Umgebung einrichten: Richten Sie die Testumgebung basierend auf Ihrer Produktionsumgebung ein. Mithilfe von AWS-Services können Sie Umgebungen im Produktionsmaßstab ausführen und damit Ihre Architektur testen.

  • Überwachung implementieren: Verwenden Sie Überwachungstools wie Amazon CloudWatch, um Metriken für alle Ressourcen in Ihrer Architektur zu erfassen. Sie können auch benutzerdefinierte Metriken erfassen und veröffentlichen.

  • Szenarien definieren: Definieren Sie die Szenarien und Parameter der Lasttests (wie Testdauer und Anzahl der Benutzer:innen).

  • Lasttests durchführen: Führen Sie Testszenarien in großem Maßstab durch. Testen Sie Ihren Workload mithilfe der AWS Cloud, um zu ermitteln, an welcher Stelle er nicht skalierbar ist oder ob die Skalierung nichtlinear erfolgt. Nutzen Sie beispielsweise Spot Instances, um kostengünstig Lasten zu erzeugen und Engpässe zu identifizieren, bevor diese in der Produktionsumgebung auftreten.

  • Testergebnisse analyieren: Analysieren Sie die Ergebnisse, um Leistungsengpässe und Verbesserungsmöglichkeiten zu identifizieren.

  • Erkenntnisse dokumentieren und teilen: Erkenntnisse und Empfehlungen dokumentieren und kommunizieren. Teilen Sie diese Informationen mit Stakeholdern, um ihnen zu helfen, fundierte Entscheidungen über Strategien zur Leistungsoptimierung zu treffen.

  • Kontinuierlich iterieren: Lasttests sollten in regelmäßigen Abständen durchgeführt werden, insbesondere nach einem Systemwechsel oder Update.

Ressourcen

Zugehörige Dokumente:

Zugehörige Videos:

Zugehörige Beispiele: