Freigeben über


Empfehlungen zur kontinuierlichen Performance-Optimierung

Gilt für diese Power Platform Well-Architected Leistungseffizienz-Empfehlung:

PE:10 Optimieren Sie kontinuierlich die Leistung. Konzentrieren Sie sich auf Komponenten, deren Leistung im Laufe der Zeit abnimmt, z. B. Datenbanken und Netzwerkfunktionen.

In dieser Anleitung finden Sie Empfehlungen für eine kontinuierliche Leistungsoptimierung. Die Kontinuierliche Leistungsoptimierung ist der Prozess der ständigen Überwachung, Analyse und Verbesserung der Leistungseffizienz. Die Leistungsoptimierung muss während der gesamten Lebensdauer des Workloads fortlaufend durchgeführt werden. Die Workload-Leistung kann sich im Laufe der Zeit verschlechtern oder überbordend werden. Zu den Faktoren, die zu berücksichtigen sind, gehören Änderungen der Nutzungsmuster, die Zunahme der gespeicherten Daten, die Nachfrage, Features und der technische Aufwand.

Definitionen

Begriff Definition
Technische Schulden Die kumulierten Ineffizienzen, suboptimalen Designentscheidungen oder Abkürzungen, die während des Entwicklungsprozesses absichtlich gewählt wurden, um Code schneller bereitzustellen.
Gültigkeitsdauer Ein Mechanismus, der eine Ablaufzeit für Daten festlegt.

Wichtige Designstrategien

Leistungseffizienz wird erreicht, wenn die Workload-Kapazität an der tatsächlichen Nutzung ausgerichtet ist. Ein Workload, der eine überdurchschnittliche Leistung erbringt, ist genauso problematisch wie einer, der unterdurchschnittliche Leistungen erbringt. Die Kompromisse unterscheiden sich. Eine überdurchschnittliche Leistung wirkt sich auf die Kostenoptimierung aus. Eine schlechte Leistung wirkt sich auf Benutzende aus. Der Schlüssel zur Leistungseffizienz liegt in der Überwachung, Anpassung und dem Testen im Laufe der Zeit. Sie müssen die Leistungskennzahlen regelmäßig überprüfen und bei Bedarf Anpassungen vornehmen, um sicherzustellen, dass der Workload effizient ist. Alle Änderungen müssen vor und nach der Implementierung getestet werden, um die Leistungsziele zu erreichen.

Eine Leistungskultur entwickeln

Eine Leistungskultur ist ein Umfeld, in dem eine kontinuierliche Verbesserung erwartet wird und das Team aus der Produktion lernt. Die Leistungsoptimierung erfordert spezielle Fähigkeiten. Workload-Teams benötigen die richtigen Fähigkeiten und die richtige Denkweise, um ihre Leistung zu optimieren und den steigenden und rückläufigen Anforderungen gerecht zu werden. Sie müssen auch ihre Zeit einteilen, um die erforderliche Überwachung und Behebung von Leistungsproblemen zu unterstützen, sobald sie auftreten. Diese Teams brauchen klare Erwartungen. Zum Beispiel müssen Leistungsziele, Baselines und Abweichungsschwellenwerte (welche Abweichung von der Baseline akzeptabel ist) gut sichtbar und bekannt sein.

Nachteil: Kontinuierliche Leistungsoptimierungen erfordern ein Team, das über die richtigen Fähigkeiten und die richtige Zeit verfügt, um Leistungsprobleme zu finden und zu beheben. Der Einsatz von Personal für die Leistung erhöht die Betriebskosten. Wenn Sie über begrenzte personelle Ressourcen verfügen, kann eine kontinuierliche Leistungsoptimierung Zeit kosten, die für andere operative Aufgaben fehlt.

Neue Plattformfeatures bewerten

Zur Bewertung neuer Plattformfeatures gehört die Untersuchung der neuen Funktionalitäten und Features, welche die Leistungseffizienz verbessern können, wie z. B. optimierte Möglichkeiten zur Datenabfrage, moderne Steuerelemente oder Caching-Mechanismen. Neue Plattformfeatures können Wege zur Steigerung der Leistungseffizienz eröffnen. Bleiben Sie mit den Plattformfeatures auf dem Laufenden, um sicherzustellen, dass Sie die neuesten Innovationen und Best Practices verwenden. Überwachen Sie konsequent das Feedback und die Leistungskennzahlen dieser Neuzugänge, um Ihren Ansatz zu verfeinern.

Optimierungsbemühungen priorisieren

Die proaktive Optimierung der Leistung bedeutet, Maßnahmen zu ergreifen, um die Leistung des Workload zu verbessern und zu steigern, bevor Leistungsprobleme auftreten. Zum Einsatz proaktiver Maßnahmen gehören die Identifizierung potenzieller Engpässe, die Überwachung von Leistungsmetriken und die Implementierung von Optimierungen, um sicherzustellen, dass der Workload effizient arbeitet und die gewünschten Leistungsziele erfüllt. Basierend auf der Analyse von sich verschlechternden Komponenten, kritischen Abläufen und technischen Schulden können Sie Leistungsoptimierungen implementieren, die für jeden Bereich spezifisch sind. Zu Verbesserungen können Codeänderungen, Infrastrukturanpassungen oder Konfigurationsaktualisierungen gehören.

Sich verschlechternde Komponenten priorisieren

Wenn sich der Workload weiterentwickelt und sich die Nutzungsmuster ändern, wirken sich diese Änderungen häufig auf die Leistung einzelner Komponenten im Workload aus. Mehr Daten in Datenbanken können zu längeren Abfragelaufzeiten und einem langsameren Datenabruf führen. Änderungen der Nutzungsmuster können zu einem suboptimalen Abfragedesign führen. Abfragen, die früher einmal effizient waren, können ineffizient werden, wenn sich der Workload weiterentwickelt. Ineffiziente Abfragen können übermäßig viele Ressourcen verbrauchen und die Datenbankleistung beeinträchtigen.

Es ist wichtig, kontinuierlich daran zu arbeiten, die Leistung von Komponenten zu optimieren, deren Leistung im Lauf der Zeit abnimmt. Identifizieren und beheben Sie proaktiv Leistungsprobleme in Ihrem Workload. Durch die Priorisierung bekannter sich verschlechternder Komponenten können Sie potenzielle Leistungsprobleme proaktiv angehen und den reibungslosen Betrieb Ihres Workloads sicherstellen. Erwägen Sie die Implementierung von Techniken zur Leistungsoptimierung oder die Optimierung der Ressourcenzuweisung.

Kritische Benutzer- und Systemflows priorisieren

Kritische Benutzer- und Systemflows sind die wichtigsten Prozesse oder Workflows mit der höchsten Priorität im Workload. Indem Sie diese kritischen Flows priorisieren, stellen Sie sicher, dass die wichtigsten Teile des Workloads hinsichtlich der Leistung optimiert sind. Bei der Priorisierung von Optimierungsmaßnahmen ist es hilfreich, zu wissen, welche Flows kritisch sind. Die Optimierung der Leistungseffizienz in den wichtigsten Bereichen Ihrer Anwendung bietet die höchste Rendite. Sie sollten kritische Flows und die beliebtesten Teile der Anwendung überwachen. Suchen Sie nach Möglichkeiten, sie effizienter zu gestalten.

Leistungsoptimierung automatisieren

Durch die Automatisierung können sich wiederholende und zeitaufwändige manuelle Prozesse eliminiert werden, sodass sie effizient ausgeführt werden können. Die Automatisierung reduziert die Wahrscheinlichkeit menschlicher Fehler und sorgt für eine einheitliche Ausführung von Optimierungsaufgaben. Durch die Automatisierung dieser Aufgaben können Sie auch Mitarbeitende entlasten, sodass sie sich auf komplexere und wertschöpfende Aktivitäten konzentrieren können. Sie können die Automatisierung auf verschiedene Aufgaben anwenden, z. B. Leistungstests, Bereitstellung und Überwachung.

  • Automatisierte Leistungstests: Verwenden Sie automatisierte Leistungstest-Tools wie Selenium, um verschiedene Workloads und Szenarien zu simulieren. Das Power Apps-Testmodul ist eine Komponente innerhalb der Power Platform-CLI, die Sie zum Testen eigenständiger Canvas-Apps in Power Apps verwenden können.

  • Automatisierte Bereitstellung: Implementieren Sie automatisierte Bereitstellungsprozesse, um konsistente und fehlerfreie Bereitstellungen zu gewährleisten. Verwenden Sie CI/CD-Tools (Continuous Integration und Continuous Delivery), um den Bereitstellungsprozess zu automatisieren. Diese Tools können Ihnen dabei helfen, Leistungsengpässe zu identifizieren, wenn Sie sie zum Testen von Endpunkten, zum Überprüfen des HTTP-Status und sogar zur Validierung von Datenqualität und -variationen verwenden.

  • Überwachung und Warnungen: Richten Sie automatisierte Überwachungs- und Warnsysteme ein, um Leistungskennzahlen kontinuierlich zu überwachen und Abweichungen oder Anomalien zu erkennen. Wenn Leistungsprobleme erkannt werden, können automatische Warnungen ausgelöst werden, um die entsprechenden Teams oder Mitarbeitenden zu benachrichtigen.

  • Vorfall-Management: Implementieren Sie ein automatisiertes Vorfall-Management-System, das Warnungen empfangen, Tickets erstellen und Tickets zur Lösung an die entsprechenden Teams zuweisen kann. Diese Schritte tragen dazu bei, dass Leistungsprobleme umgehend behoben und den richtigen Ressourcen zugewiesen werden.

  • Automatisierte Diagnose: Entwickeln Sie automatisierte Diagnosetools oder Skripts, mit denen Sie Leistungsdaten analysieren und die Ursachen von Leistungsproblemen ermitteln können. Diese Tools können dabei helfen, herauszufinden, welche Bereiche oder Komponenten des Systems genau Leistungsprobleme verursachen.

  • Automatisierte Korrekturaktionen: Definieren und implementieren Sie automatisierte Korrekturaktionen, die ausgelöst werden können, wenn bestimmte Leistungsprobleme erkannt werden. Zu diesen Aktionen kann das Neustarten von Diensten, das Anpassen der Ressourcenzuordnung, das Leeren von Caches oder das Implementieren anderer Techniken zur Leistungsoptimierung gehören.

  • Selbstreparierende Systeme: Integrieren Sie selbstreparierende Funktionen in Ihrem System, indem Sie den Wiederherstellungsprozess für bekannte Leistungsprobleme automatisieren. Zu dieser Funktion kann die automatische Korrektur oder Anpassung der Systemkonfiguration gehören, um die optimale Leistung wiederherzustellen.

Technische Schulden angehen

Unter technischen Schulden versteht man die kumulierten Ineffizienzen, suboptimalen Designentscheidungen oder Abkürzungen, die während des Entwicklungsprozesses in Kauf genommen werden und die Leistung beeinträchtigen können. Technische Schulden, unklarer Code und übermäßig komplexe Implementierungen können das Erreichen von Leistungseffizienz erschweren. Der Umgang mit technische Schulden umfasst die Identifizierung und Lösung dieser Probleme, um die Gesamtleistung und Wartungsfähigkeit der Workload zu verbessern. Zu dieser Arbeit kann das Refactoring von Code, die Optimierung von Datenbankabfragen, die Verbesserung des Architekturdesigns oder die Implementierung von Best Practices gehören. Vielleicht haben Sie beispielsweise technische Schulden akzeptiert, um eine Frist einzuhalten. Sie müssen diese technischen Schulden beheben, wenn Sie die Leistungseffizienz im Laufe der Zeit optimieren.

Datenbanken optimieren

Zur kontinuierlichen Optimierung von Datenbanken gehört die Identifizierung und Implementierung von Optimierungsmöglichkeiten, um sicherzustellen, dass Datenbanken Lasten bewältigen, schnelle Antwortzeiten liefern und die Ressourcenauslastung minimieren können. Durch die regelmäßige Optimierung von Datenbanken können Sie die Anwendungsleistung verbessern, Ausfallzeiten reduzieren und die allgemeine Benutzererfahrung verbessern.

  • Datenbankabfragen optimieren: Schlecht geschriebene Datenbankabfragen können die Datenbankleistung beeinträchtigen. Ineffiziente Filter können zu unnötiger Datenverarbeitung führen. Komplexe Unterabfragen, verschachtelte Abfragen und übermäßige Funktionen können die Ausführungsgeschwindigkeit verringern. Schreiben Sie Abfragen um, die zu viele Daten abrufen. Identifizieren Sie Ihre häufigsten oder kritischsten Datenbankabfragen und optimieren Sie sie. Die Optimierung trägt dazu bei, schnellere Abfragen zu gewährleisten.
  • Modellentwurf überprüfen: Überprüfen Sie das Datenmodell, um sicherzustellen, dass Sie es für die spezifischen Anforderungen der Anwendung optimieren.

Umsetzung in Power Platform

Automatisierung der Leistungsoptimierung: Mit der Lösungsprüfung können Sie eine Leistungsempfehlung basierend auf der statischen Analyseprüfung Ihrer Lösungen für einen Satz von Regeln der bewährten Methode ausführen, um problematische Muster schnell zu ermitteln. Überprüfen und setzen Sie diese Empfehlungen unbedingt regelmäßig um.

Überwachung der Leistungsoptimierung: Integrieren Sie Ihre Power Platform Workloads mit Application Insights, um Erkenntnisse und Empfehlungen zur Leistungsoptimierung zu erhalten.

Leistung und Nutzung in Copilot Studio analysieren: Copilot Analytics bietet einen umfassenden Überblick über die Leistung Ihres Agenten. Sie verwendet künstliche Intelligenz (KI)-Technologie, um zu identifizieren, welche Themen den größten Einfluss auf die Eskalationsrate, Abbruchrate und Lösungsrate haben. Die Nachferfolgung von Unterhaltungen mit Kunden messen und Ergebnisse messen ist unerlässlich, um Agent-Leistungskennzahlen zu messen und Bereiche mit Verbesserungspotenzial zu erkennen.

Leistungsfähigkeitscheckliste

Lesen Sie die vollständigen Empfehlungen.