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 diesem Handbuch werden die Empfehlungen für eine kontinuierliche Leistungsoptimierung beschrieben. Kontinuierliche Leistungsoptimierung ist der Prozess der ständigen Überwachung, Analyse und Verbesserung der Leistungseffizienz. Die Leistungsoptimierung muss während der gesamten Lebensdauer der Workload 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, Funktionen und technische Schulden.
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. Eine Workload, die eine überdurchschnittliche Leistung erbringt, ist genauso problematisch wie eine Workload, die unterdurchschnittliche Leistungen erbringt. Die Kompromisse sind unterschiedlich. Überleistung wirkt sich auf die Kostenoptimierung aus. Schlechte Leistung wirkt sich auf Benutzer 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 die Workload effizient ist. Das Testen aller Änderungen vor und nach der Implementierung ist erforderlich, um die Leistungsziele zu erreichen.
Entwickeln Sie eine Leistungskultur
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 (wie weit vom Baseline entfernt akzeptabel ist) gut sichtbar und sozialisiert 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 von anderen operativen Aufgaben abziehen.
Neue Plattformfunktionen bewerten
Die Bewertung neuer Plattformfunktionen umfasst die Untersuchung der neuen Funktionalitäten und Features, die die Leistungseffizienz verbessern können, wie z. B. optimierte Möglichkeiten zur Datenabfrage, moderne Steuerelemente oder Caching-Mechanismen. Neue Plattformfunktionen können Wege zur Steigerung der Leistungseffizienz eröffnen. Bleiben Sie mit den Plattformfunktionen 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 der Workload zu verbessern und zu steigern, bevor Leistungsprobleme auftreten. Der Einsatz proaktiver Maßnahmen umfasst die Identifizierung potenzieller Engpässe, die Überwachung von Leistungsmetriken und die Implementierung von Optimierungen, um sicherzustellen, dass die 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. Verbesserungen können Codeänderungen, Infrastrukturanpassungen oder Konfigurationsaktualisierungen umfassen.
Sich verschlechternde Komponenten priorisieren
Wenn sich die Workload weiterentwickelt und sich die Nutzungsmuster ändern, wirken sich diese Änderungen häufig auf die Leistung einzelner Komponenten in der 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 einst effizient waren, können mit zunehmender Workload ineffizient werden. Ineffiziente Abfragen können übermäßig viele Ressourcen verbrauchen und die Datenbankleistung beeinträchtigen.
Es ist wichtig, kontinuierliche Anstrengungen zu unternehmen, um die Leistung von Komponenten zu optimieren, die im Laufe der Zeit eine abnehmende Leistung aufweisen. Identifizieren und beheben Sie proaktiv Leistungsprobleme in Ihrer Workload. Durch die Priorisierung bekannter sich verschlechternder Komponenten können Sie potenzielle Leistungsprobleme proaktiv angehen und den reibungslosen Betrieb Ihrer Workload 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 in der Workload. Durch die Priorisierung dieser kritischen Flows stellen Sie sicher, dass die wichtigsten Teile der Workload hinsichtlich Leistung optimiert sind. Zu wissen, welche Flows kritisch sind, hilft bei der Priorisierung von Optimierungsmaßnahmen. Die Optimierung der Leistungseffizienz in den wichtigsten Bereichen Ihrer Anwendung bietet den höchsten Return on Investment. 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 Konsistenz bei der Ausführung von Optimierungsaufgaben. Durch die Automatisierung dieser Aufgaben können Sie auch Mitarbeiter entlasten, damit 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/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 Einzelpersonen 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, bestimmte Bereiche oder Komponenten des Systems zu lokalisieren, die Leistungsprobleme verursachen.
Automatisierte Korrekturaktionen: Definieren und implementieren Sie automatisierte Korrekturaktionen, die ausgelöst werden können, wenn bestimmte Leistungsprobleme erkannt werden. Diese Aktionen können das Neustarten von Diensten, das Anpassen der Ressourcenzuordnung, das Leeren von Caches oder das Implementieren anderer Techniken zur Leistungsoptimierung umfassen.
Selbstreparierende Systeme: Integrieren Sie selbstreparierende Funktionen in Ihrem System, indem Sie den Wiederherstellungsprozess für bekannte Leistungsprobleme automatisieren. Diese Funktion kann die automatische Korrektur oder Anpassung der Systemkonfiguration umfassen, um die optimale Leistung wiederherzustellen.
Technische Schulden angehen
Technische Schulden beziehen sich auf die kumulierten Ineffizienzen, suboptimalen Designentscheidungen oder Abkürzungen, die während des Entwicklungsprozesses 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. Diese Arbeit kann das Refactoring von Code, die Optimierung von Datenbankabfragen, die Verbesserung des Architekturdesigns oder die Implementierung von Best Practices umfassen. Vielleicht haben Sie beispielsweise technische Schulden eingeführt, um eine Frist einzuhalten – Sie müssen diese technischen Schulden beheben, wenn Sie die Leistungseffizienz im Laufe der Zeit optimieren.
Datenbanken optimieren
Die kontinuierliche Optimierung von Datenbanken umfasst die Identifizierung und Implementierung von Optimierungen, 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. Stellen Sie sicher, dass Sie diese Empfehlungen regelmäßig überprüfen und umsetzen.
Ü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.