PERF 8: Wie lässt sich Leistung durch Kompromisse verbessern?
Durch die Festlegung von Kompromissen beim Gestalten von Lösungen lässt sich der optimale Ansatz einfacher bestimmen. Leistung lässt sich oft durch Zugeständnisse in anderen Bereichen verbessern, etwa bei Konsistenz, Beständigkeit, Zeit und Latenz.
Ressourcen
Introducing The Amazon Builders’ Library (DOP328)
Amazon Builders’ Library
Best Practices for Implementing Amazon ElastiCache
Bewährte Methoden:
-
Bereiche mit kritischem Leistungsbedarf identifizieren: Ermitteln Sie diejenigen Bereiche, in denen sich durch Steigern der Workload-Leistung positive Auswirkungen auf die Effizienz oder das Kundenerlebnis realisieren lassen. Beispiel: Eine Website mit zahlreichen Kundeninteraktionen kann von der Nutzung von Edge-Services profitieren, indem Inhalte näher bei den Kunden bereitgestellt werden.
-
Designmuster und Services kennenlernen: Holen Sie Informationen zu den verschiedenen Designmustern und Services ein, die zu Leistungsoptimierungen beitragen, und machen Sie sich mit ihnen vertraut. Ermitteln Sie im Rahmen Ihrer Analyse, welche Kompromisse in Frage kommen, um eine höhere Leistung zu erzielen. Mithilfe eines Cache-Service lässt sich beispielsweise die Last von Datenbanksystemen reduzieren. Allerdings bedarf es einer gewissen Entwicklungstätigkeit, um sicheres Caching zu implementieren oder letztendliche Datenkonsistenz in bestimmten Bereichen einzuführen.
-
Auswirkungen von Kompromissen auf Kunden und Effizienz identifizieren: Ermitteln Sie beim Evaluieren von leistungsbezogenen Verbesserungen, welche gewählten Optionen sich auf Ihre Kunden und die Effizienz der Workloads auswirken. Wenn sich die Systemleistung beispielsweise bei Verwendung eines Schlüssel-Wert-Datenspeichers erhöht, sollten Sie unbedingt ermitteln, welche Auswirkungen sich bei einem dauerhaften Einsatz für die Kunden ergeben würden.
-
Auswirkung von Leistungsoptimierungen messen: Werten Sie die erfassten Metriken und Daten aus, wenn Änderungen zur Verbesserung der Leistung vorgenommen werden. Nutzen Sie diese Informationen, um die Auswirkungen zu ermitteln, die sich aufgrund der Leistungsverbesserung für die Workload, die zugehörigen Komponenten und Ihre Kunden ergeben haben. Anhand dieser Messungen lassen sich die dank des Kompromisses möglichen Verbesserungen einfacher nachvollziehen und Sie können feststellen, ob der Kompromiss eventuell zu unerwünschten Nebenwirkungen geführt hat.
-
Verschiedene Leistungsstrategien anwenden: Wenden Sie nach Möglichkeit mehrere Strategien zur Leistungsoptimierung an. Verwenden Sie beispielsweise Strategien wie Daten-Caching, um exzessive Netzwerk- oder Datenbankaufrufe zu verhindern, und Lesereplikate für Datenbankmodule, um eine höhere Leserate zu erzielen. Setzen Sie möglichst Sharding und Datenkomprimierung ein, um das Datenvolumen zu reduzieren, und nutzen Sie die Pufferung und das Streaming der verfügbaren Ergebnisse, um Blockaden zu vermeiden.
Verbesserungsplan
Bereiche mit kritischem Leistungsbedarf identifizieren
Designmuster und Services kennenlernen
Amazon Builders’ Library
Auswirkungen von Kompromissen auf Kunden und Effizienz identifizieren
Auswirkung von Leistungsoptimierungen messen
Verschiedene Leistungsstrategien anwenden