Leistungsoptimierung

Abgeschlossen

Wir behandeln zunächst, was mit Ihrer App bei dem Start passiert, um zu bestimmen, wie Sie die Leistung Ihrer App optimieren können. Im Anschluss besprechen wir einige häufige Ursachen für langsame Leistung.

App-Ausführungsphasen und Datenabruf-Flows

Bevor Ihr Benutzer überhaupt beginnt, mit Ihrer App zu interagieren, gibt es einige Ausführungsphasen, die die App durchläuft. Danach führt Ihre App einen Datenabruf-Flows durch, der je nach Datenquelle variiert.

Ausführungsphasen in Canvas-Apps

Eine Canvas-App durchläuft folgende Ausführungsphasen, bevor sie einem Benutzer die Benutzeroberfläche anzeigt:

  1. Benutzer authentifizieren: fordert erstmalige Benutzer auf, sich mit ihren Anmeldeinformationen für die App-Verbindung anzumelden. Derselbe Benutzer wird, abhängig von den Sicherheitsrichtlinien der Organisation, möglicherweise noch einmal aufgefordert, wenn er die App erneut öffnet.
  2. Metadaten abrufen: Ruft Metadaten (wie die Version der Power Apps-Plattform ab, auf der die App ausgeführt wird, sowie Datenquellen).
  3. App initialisieren: Führt die in der OnStart-Eigenschaft der App angegebenen Aufgaben aus.
  4. Die Bildschirme rendern: Rendert den ersten Bildschirm der App mit den Steuerelemente und Daten. Die App durchläuft denselben Prozess, um alle nachfolgenden Bildschirme zu rendern, die vom Benutzer geöffnet werden.

Datenanruf-Flows in Canvas-Apps

Das OData-Protokoll wird zum Senden und Empfangen von Daten für Datenanrufe von Canvas-Apps verwendet. Bei den meisten Datenquellen erfolgt der Datenabruf von der App zur Azure-API-Verwaltung, von der API-Verwaltung zur Datenquelle und dann über die gleichen Schritte in umgekehrter Reihenfolge zurück zur App. Wenn eine lokale Datenquelle (z. B. ein SQL Server) vorhanden ist, muss der Aufruf auch über ein lokales Datengateway erfolgen. Alle diese Call-Flow-Gates können Überlegungen zur Leistung und potenzielle Möglichkeiten zur Optimierung anbieten.

Der aktuelle Flow für das Abrufen von Daten wird durch das Verwenden von Microsoft Dataverse als Datenquelle erheblich verändert. Wenn Ihr Datenaufruf an Dataverse geht, wird die OData-Anforderung direkt an Dataverse weitergeleitet, ohne Azure API Management, Konnektoren oder Datengateways zu durchlaufen. Anders ausgedrückt: Bei der Verwendung von Dataverse müssen Sie durch weniger Gates.

Häufige Ursachen für eine beeinträchtigte Leistung einer Canvas-App

Nachdem Sie nun ein grundlegendes Verständnis der Ausführungsphasen und des Ablaufs von Datenaufrufen haben, behandeln wir einige der häufigsten Ursachen für schlechte Leistung in Canvas-Apps.

App-Design

Das App-Design ist ein umfassendes Gebiet, da es viele Möglichkeiten gibt, eine App zu entwerfen. Einige Entwurfsaspekte, die sich auf die App-Leistung auswirken können, sind jedoch:

  • Die App ist clientintensiv, was bedeutet, dass sie zunächst große Datenmengen in Datensammlungen erhält. Anschließend werden die Daten (möglicherweise mehrmals) in Funktionen verwendet, die auf dem Gerät des Clients verarbeitet werden, z. B. JSON, Sort, AddColumns und GroupBy.
  • Die App hat eine lange Formel in OnStart, wo sie viele Datenaufrufe in anderen Bildschirmen auslöst, und diese Datenaufrufe geben große Datensätze zurück.

Sie können das App-Design als mögliche Ursache für eine langsame App-Leistung überprüfen, indem Sie Monitor verwenden. Überprüfen Sie, welche Datenaufrufe viel Zeit in Anspruch nehmen und wie viele Datenaufrufe es in der App gibt.

Versuchen Sie zudem, die Arbeitslast zwischen Client und Server auszugleichen. Delegieren Sie den Workload nach Möglichkeit an den Server. Es ist wichtig, die Client-App aus Perspektive des Speicherverbrauchs des Clients schlank zu halten.

Engpass in der Datenquelle

Für Engpässe in der Datenquelle gibt es viele mögliche Ursachen. Am häufigsten sind jedoch Tabellen in der Datenquelle im Mittelpunkt der Aktivitäten, wenn viele transaktionale oder nicht transaktionale Abfragen von verschiedenen Benutzern an dieselbe Tabelle oder denselben Datensatz gerichtet werden.

OData-Aufrufe können langsamer werden, wenn:

  • Der Back-End-Computer, der die Datenquelle hostet, verfügt nur noch über wenige Ressourcen.
  • Die Back-End-SQL-Instanz hat Blockierungen, Deadlocks oder Ressourcenkonflikte auf.
  • Das lokale Datengateway ist fehlerhaft.

Wenn diese Probleme auftreten, optimieren Sie die Back-End-Datenquelle, um zu vermeiden, dass die App-Leistung verlangsamt wird.

Client-Browser, Geräte und Standorte

Canvas-Apps können auf verschiedenen Geräten, Browsern und verschiedenen Standorten mit unterschiedlichen Netzwerkbedingungen genutzt werden. Ermutigen Sie Ihre Benutzer, moderne, aktualisierte und unterstützte Browser zu verwenden.

Geografischer Standort des lokalen Datengateways und der Umgebung

Benutzer haben die Möglichkeit, global auf Canvas-Apps zuzugreifen. Wir empfehlen, dass Sie die Datenquelle nahe Ihrer größten Benutzerbasis suchen. Wenn Ihre App zum Beispiel auf Ihre lokale Datenquelle zugreift, sollte sich der Standort des lokalen Datengateways in der Nähe der Datenquelle befinden, um zusätzlichen Overhead zwischen dem Datengateway und der Datenquelle zu minimieren.

Anfragen mit hohem Volumen am Backend temporär drosseln

Eine Canvas-App kann innerhalb kurzer Zeit viele Datenaufrufe generieren, je nachdem wie Sie sie entwerfen. Wenn Datenanrufe die Drosselungsgrenzen eines Konnektors überschreiten, unterliegt die App einer vorübergehenden Drosselung. Es ist aus vielen Perspektiven wichtig, die richtige Datenquelle und den richtigen Konnektors auszuwählen sowie die konnektorspezifischen Grenzen zu verstehen. In der Dokumentation zu Konnektoren erfahren Sie mehr über mögliche Einschränkungen.

Aktivierte Einstellungen der veröffentlichten App debuggen

Durch das Aktivieren der Einstellung Veröffentlichte App debuggen werden Ihre Apps langsamer ausgeführt. Sie können Ihre App mit deaktivierter Einstellung erneut veröffentlichen, wenn Sie bestimmen, dass Sie beim Debuggen Ihrer veröffentlichten App keine Quellausdrücke mehr anzeigen müssen.

Zusammenfassend haben wir nun besprochen, was geschieht, wenn ein Benutzer beginnt, die App für die Ausführungsphasen und den Datenabruf-Flow zu verwenden. Wir haben auch einige der häufigsten Möglichkeiten behandelt, durch die die Leistung Ihrer App beeinträchtigt werden kann. Auch wenn wir in dieserLerneinheit nicht weiter darauf eingehen, können Sie sich über praktische Tipps und Best Practices zur Verbesserung der Leistung von Canvas-Apps und Überlegungen zur optimierten Leistung in Power Apps informieren.