Taktiken zum Qualitätsmerkmal Leistungseffizienz.
Zeitverhalten, Ressourcennutzung
Caching
Häufig benötigte Daten zwischenspeichern
Taktiken zum Qualitätsmerkmal Leistungseffizienz.
Zeitverhalten, Ressourcennutzung
Häufig benötigte Daten zwischenspeichern
Zeitverhalten, Ressourcennutzung
Fördert auch: Kapazität
Last auf mehrere parallel arbeitende Verarbeitungseinheiten aufteilen
Zeitverhalten, Ressourcennutzung
Fördert auch: Kapazität
Aufrufe und Ausführungen durch Asynchronität voneinander entkoppeln
Zeitverhalten
Fördert auch: Verfügbarkeit, Analysierbarkeit
Logging-Prozess von der Hauptanwendung entkoppeln
Zeitverhalten, Ressourcennutzung
Leistungskennzahlen als Teil der Anforderungen definieren
Ressourcennutzung
Verbrauch knapper Ressourcen minimieren
Ressourcennutzung
Fördert auch: Kapazität
Speicherbedarf verlustfrei oder verlustbehaftet reduzieren
Zeitverhalten, Ressourcennutzung
Fördert auch: Kapazität, Bedienbarkeit
API-Aufrufe effizient gestalten
Zeitverhalten, Ressourcennutzung
Effiziente Algorithmen für häufige oder kritische Operationen wählen
Kapazität, Ressourcennutzung
Datenbankdesigns und -konfigurationen für maximale Performanz optimieren
Zeitverhalten
Fördert auch: Kapazität
Daten in flexiblen, schemalosen Formaten speichern
Zeitverhalten
Speicherung und Abfrage von vernetzten Daten in Form von Knoten und Kanten
Zeitverhalten, Kapazität
Software unter hoher Belastung prüfen
Zeitverhalten
Fördert auch: Verfügbarkeit
Software unter extremen Lastbedingungen prüfen
Zeitverhalten
Anwendungen hinsichtlich ihrer Leistung detailliert analysieren
Ressourcennutzung
Fördert auch: Kapazität
Ressourcen gemeinsam nutzen, indem sie in Pools zusammengefasst werden
Zeitverhalten
Mehrere Berechnungen oder Aufgaben gleichzeitig ausführen
Zeitverhalten, Ressourcennutzung
Fördert auch: Kapazität
Verarbeitung auf mehrere unabhängige Systeme aufteilen
Zeitverhalten, Ressourcennutzung
Mehrere Aufgaben innerhalb eines Prozesses gleichzeitig ausführen
Kapazität, Zeitverhalten
Aufeinanderfolgende Verarbeitungsschritte gleichzeitig ausführen
Zeitverhalten
Fördert auch: Interoperabilität
Daten kontinuierlich verarbeiten und übertragen
Ressourcennutzung
Fördert auch: Kapazität
Ressourcen dynamisch anhand der aktuellen Last zuweisen
Zeitverhalten, Ressourcennutzung
Leistungsfähigkeit einzelner Komponenten erhöhen
Zeitverhalten, Ressourcennutzung
Fördert auch: Kapazität
Leistungsfähigkeit durch zusätzliche Komponenten erhöhen
Zeitverhalten, Kapazität
Fördert auch: Verfügbarkeit
Inhalte über ein Netzwerk von Servern geografisch verteilen
Zeitverhalten
Fördert auch: Ressourcennutzung, Vertraulichkeit
Generierung statischer HTML-Dateien zur Build-Zeit
Zeitverhalten
Fördert auch: Analysierbarkeit, Interoperabilität
Verbesserung der Ladezeiten und SEO durch das Rendern von Seiteninhalten auf dem Server
Ressourcennutzung
Fördert auch: Zeitverhalten
Datenverarbeitung näher am Ort der Entstehung durchführen
Zeitverhalten
Fördert auch: Bedienbarkeit, Kapazität
Renderings von Webseiten von der Serverseite auf den Client verlagern
Ressourcennutzung
Mehrere Aufträge sammeln und gemeinsam verarbeiten
Zeitverhalten
Daten im Arbeitsspeicher halten statt auf langsamen Speichermedien
Zeitverhalten, Ressourcennutzung
Das Laden von Daten und Ressourcen verzögern, bis sie tatsächlich genutzt werden
Ressourcennutzung
Fördert auch: Zeitverhalten
Statische Webseiten erst beim ersten Aufruf generieren
Zeitverhalten, Ressourcennutzung
Daten erst bei Bedarf laden und verarbeiten
Zeitverhalten
Datenströme dynamisch an die Netzwerkbedingungen anpassen
Zeitverhalten
Fördert auch: Bedienbarkeit
Inhalte schrittweise mit steigender Qualität laden
Zeitverhalten, Ressourcennutzung
Fördert auch: Bedienbarkeit, Verfügbarkeit
Große Datenausgabe in kleinere, handhabbare Stücke laden
Zeitverhalten
Fördert auch: Ressourcennutzung, Kapazität
Initiale Datenmenge und Serverlast durch inkrementelles, bedarfsgesteuertes Nachladen reduzieren
Ressourcennutzung
Fördert auch: Bedienbarkeit
Effizient große Datenlisten durch virtuelle Scrollbereiche darstellen
Zeitverhalten
Statt exakter Berechnungen Näherungslösungen verwenden
Zeitverhalten
Daten, die wahrscheinlich als nächstes benötigt werden, proaktiv laden
Zeitverhalten
Fördert auch: Bedienbarkeit
Wahrscheinlich benötigte Inhalte laden, welche sich aus der aktuellen Nutzung ableiten
Zeitverhalten
Fördert auch: Ressourcennutzung
Den Anwendungscode in kleinere Teile aufteilen
Ressourcennutzung, Zeitverhalten
Ungenutzten Code während des Builds eliminieren
Zeitverhalten
Hardwarebeschleunigte Funktionen oder spezialisierte Hardwarekomponenten nutzen
Zeitverhalten, Ressourcennutzung
Fördert auch: Verfügbarkeit
Anwendungsleistung in der Produktion fortlaufend überwachen und analysieren
Zeitverhalten, Ressourcennutzung
Leistungskennzahlen kontinuierlich im Produktivbetrieb messen und speichern
Zeitverhalten, Ressourcennutzung
Automatisierte Überprüfung des Quellcodes auf Performanceprobleme durchführen
Zeitverhalten
Ein Problem in überlappende Teilprobleme zerlegen und Lösungen später zusammenfügen
Ressourcennutzung
Verwendung von Datenstrukturen, die Genauigkeit gegen Speicherplatz tauschen
Zeitverhalten
Spezielle Instruktionen moderner Prozessoren ausnutzen
Zeitverhalten, Ressourcennutzung
Leistungsverhalten durch mathematische Modelle vorhersagen
Zeitverhalten
Fördert auch: Verfügbarkeit
Offene Darstellung von Systemleistung und Verarbeitungszeiten
Kapazität
Fördert auch: Zeitverhalten
Code ohne Verwaltung der zugrundeliegenden Infrastruktur ausführen
Zeitverhalten, Ressourcennutzung
Fördert auch: Kapazität, Bedienbarkeit
Anwendungen entwickeln, die auf Ereignisse reagieren und Datenflüsse verarbeiten
Zeitverhalten, Ressourcennutzung
Fördert auch: Vertraulichkeit
Massenweise künstliche Testdaten mit realistischen Eigenschaften erzeugen
Zeitverhalten
Lokalität von Speicherzugriffen auf verschiedenen Ebenen ausnutzen
Zeitverhalten, Ressourcennutzung
Fördert auch: Kapazität
Häufig benötigte Daten auf mehreren Rechnern zwischenspeichern
Zeitverhalten, Ressourcennutzung
Fördert auch: Kapazität
Große Datenbestände auf mehrere Rechner oder Speichereinheiten aufteilen
Ressourcennutzung
Fördert auch: Kapazität
Redundante Daten in Speichersystemen erkennen und eliminieren
Zeitverhalten, Kapazität
Fördert auch: Ressourcennutzung
Feingranulare Daten zu kompakteren Einheiten zusammenfassen
Zeitverhalten
Fördert auch: Ressourcennutzung, Verfügbarkeit
Abfrageleistung von Datenbanken durch das Speichern von Abfrageergebnissen optimieren
Zeitverhalten, Ressourcennutzung
Repräsentative Teilmengen der Daten für Analysen oder Tests verwenden
Ressourcennutzung
Fördert auch: Kapazität
Selten benötigte Daten auf kostengünstigere Speichermedien auslagern
Zeitverhalten
Fördert auch: Kapazität, Verfügbarkeit
Daten aus Echtzeit-Datenquellen kontinuierlich verarbeiten
Zeitverhalten
Fördert auch: Bedienbarkeit
Wahrgenommene Latenz reduzieren, indem die Oberfläche vor der Serverbestätigung aktualisiert wird
Kapazität, Ressourcennutzung
Zukünftige Ressourcenbedarfe auf Basis von Wachstumsprognosen und Performancemodellen abschätzen
Ressourcennutzung, Kapazität
Konsumenten signalisieren Produzenten, bei Überlastung zu drosseln
Zeitverhalten, Kapazität
Fördert auch: Änderbarkeit
Lese- und Schreibmodelle für unabhängige Optimierung und Skalierung trennen
Kapazität, Zeitverhalten
Fördert auch: Verfügbarkeit
Abfragelast über schreibgeschützte Datenbankreplikate weg von der Primärinstanz verteilen
Zeitverhalten, Kapazität
Kontrollierte Redundanz in Datenbankschemata für bessere Leseleistung einführen
Zeitverhalten, Ressourcennutzung
Vorab aufgebaute Verbindungen statt neuer Einzelverbindungen wiederverwenden
Zeitverhalten, Ressourcennutzung
Effiziente Serialisierungsformate für performancekritischen Datenaustausch wählen
Zeitverhalten, Ressourcennutzung
Bilder, Schriften und statische Assets für kürzere Ladezeiten und kleinere Payloads optimieren
Zeitverhalten
Fördert auch: Kapazität
Initialisierungslatenz in Serverless-, Container- und JVM-Anwendungen proaktiv reduzieren
Zeitverhalten
Fördert auch: Analysierbarkeit
Anfragen über Microservice-Grenzen hinweg samt Performance-Auswirkungen verfolgen