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 vorher 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: Bei dieser Ausführungsphase werden erstmalige Benutzer aufgefordert, 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 die Quellen, aus denen sie Daten abrufen muss.
  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 auf dem ersten Bildschirm dargestellten Steuerelemente und Daten. Auf ähnliche Weise durchläuft die App denselben Prozess, um alle nachfolgenden Bildschirme zu rendern, die vom Benutzer geöffnet werden.

Datenanruf-Flows in Canvas-Apps

Datenaufrufe von Canvas-Apps verwenden das OData-Protokoll, um Daten zu senden und zu empfangen. In vielen Fällen geht der Datenaufruf von der App zur Azure API Management, von der API-Verwaltung zur Datenquelle und muss dann in umgekehrter Reihenfolge wieder zur App zurückkehren. 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 auslösen. Es gibt jedoch einen signifikanten Unterschied beim Datenaufruf, wenn Ihre App Microsoft Dataverse als Datenquelle verwendet. Wenn Ihr Datenaufruf an eine Dataverse-Quelle 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 Aspekte, die sich sicherlich auf die App-Leistung auswirken können, sind jedoch:

  • Die App ist clientintensiv bedeutet, dass die App zunächst große Datenmengen in Datensammlungen erhält und die Daten dann in mehreren Bildschirmen über clientintensive Vorgänge wie JSON, Sort, AddColumns und GroupBy verwendet.
  • Die App hat eine lange Formel in OnStart, wo sie potenziell viele unnötige Datenaufrufe in Bildschirmen auslöst, und diese Datenaufrufe geben große Datensätze zurück.

Überwachen Sie die App mit Monitor, um das App-Design als mögliche Ursache für eine langsame App-Leistung zu überprüfen. Überprüfen Sie, welche Datenaufrufe viel Zeit in Anspruch nehmen und wie viele Datenaufrufe ein solches Verhalten in der App auslösen.

Versuchen Sie zudem, die Arbeitslast zwischen Client und Server auszugleichen. Es wird empfohlen, die Arbeitslast an den Server zu delegieren, wenn Sie die Möglichkeit dazu haben. Aus Perspektive des Clientspeicherverbrauchs ist es wichtig, die Client-App schlank zu gestalten.

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 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 jedoch, 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.