Ottimizzazione delle prestazioni
Per determinare come ottimizzare le prestazioni di un'app è opportuno iniziare esaminando cosa accade all'app al suo avvio. Successivamente, questa unità descriverà alcune cause comuni di prestazioni rallentate.
Fasi di esecuzione e flusso di chiamate dati dell'app
Prima ancora che gli utenti inizino a interagire con l'app, questa attraversa alcune fasi di esecuzione, seguite da un flusso di chiamate dati che varia a seconda dell'origine dati.
Fasi di esecuzione nelle app canvas
Un'app canvas attraversa le seguenti fasi di esecuzione prima di mostrare l'interfaccia a un utente:
- Autenticazione dell'utente: questa fase di esecuzione richiede agli utenti che si collegano per la prima volta di accedere con le proprie credenziali di connessione all'app. A seconda dei criteri di sicurezza dell'organizzazione, lo stesso utente potrebbe ricevere la stessa richiesta ogni volta che riapre l'app.
- Recupero dei metadati: recupera i metadati, come la versione della piattaforma Power Apps su cui viene eseguita l'app e le origini da cui deve recuperare i dati.
- Inizializzazione dell'app: esegue le attività specificate nella proprietà OnStart dell'app.
- Rendering delle schermate: esegue il rendering della prima schermata dell'app, inclusi i controlli e i dati rappresentati nella schermata. In modo analogo l'app esegue lo stesso processo per eseguire il rendering di eventuali schermate successive aperte dall'utente.
Flussi di chiamate dati nelle app canvas
Le chiamate dati dalle app canvas usano il protocollo OData per inviare e ricevere dati. In molti casi la chiamata dati passa dall'app a Gestione API di Azure, da Gestione API all'origine dati per poi tornare all'app nell'ordine inverso. Inoltre, se è presente un'origine dati locale (ad esempio un'istanza di SQL Server), la chiamata deve anche attraversare un gateway dati locale.
Tutti questi punti di controllo del flusso di chiamate determinano considerazioni sulle prestazioni e potenziali opportunità di ottimizzazione. Tuttavia, c'è una differenza significativa nella chiamata dati se l'app usa Microsoft Dataverse come origine dati. Quando la chiamata dati è diretta a un'origine Dataverse, la richiesta OData va direttamente a Dataverse senza passare attraverso Gestione API di Azure, connettori o gateway dati. In altre parole, ci sono meno punti di controllo da attraversare quando si usa Dataverse.
Cause comuni di prestazioni rallentate delle app canvas
Acquisita una conoscenza di base delle fasi di esecuzione e del flusso di chiamate dati, è possibile esaminare alcune delle cause più comuni di prestazioni ridotte nelle app canvas.
Progettazione dell'app
Quella della progettazione è un'area vasta perché i modi in cui un'app può essere progettata sono numerosi; tuttavia, alcuni aspetti che possono certamente influire sulle prestazioni dell'app includono i seguenti:
- L'app richiede un'intensa attività sul lato client, cioè recupera inizialmente grandi set di dati in raccolte e quindi usa i dati all'interno di più schermate per operazioni con intensa attività client come JSON, Sort, AddColumns e GroupBy.
- L'app contiene una formula lunga in OnStart che attiva potenzialmente molte chiamate dati non necessarie nelle schermate e queste chiamate dati restituiscono record di dati di grandi dimensioni.
Per rivedere la progettazione dell'app come possibile origine di rallentamento delle prestazioni, monitorare l'app usando Monitoraggio. Controllare quali chiamate dati impiegano molto tempo e quante chiamate dati attivano tale comportamento nell'app.
Cercare inoltre di bilanciare il carico di lavoro tra client e server, delegandolo al server quando possibile. Dal punto di vista del consumo di memoria del client, è importante rendere l'app client leggera.
Collo di bottiglia nell'origine dati
Esistono molte possibili cause di colli di bottiglia nell'origine dati. La più comune è che le tabelle nell'origine dati sono al centro dell'attività quando utenti diversi indirizzano molte query transazionali o non transazionali alla stessa tabella o record.
Le chiamate OData potrebbero rallentare se:
- Il computer back-end che ospita l'origine dati ha poche risorse.
- L'istanza SQL di back-end presenta blocchi, deadlock o contese di risorse.
- Il gateway dati locale non è integro.
Quando si verificano questi problemi, ottimizzare l'origine dati di back-end per evitare di rallentare le prestazioni dell'app.
Browser, dispositivi e posizioni del client
Le app canvas si possono usare in diversi dispositivi, browser e posizioni con condizioni di rete variabili. Incoraggiare gli utenti a usare browser supportati, moderni e aggiornati.
Posizione geografica del gateway dati e dell'ambiente locale
Gli utenti possono accedere alle app canvas a livello globale. Tuttavia è consigliabile posizionare l'origine dati vicino alla base di utenti più ampia. Ad esempio, quando l'app accede all'origine dati locale, la posizione del gateway dati locale dovrebbe essere prossima all'origine dati per ridurre al minimo il sovraccarico aggiuntivo tra il gateway dati e l'origine dati.
Limitazione temporanea di richieste ad alto volume nel back-end
A seconda della progettazione, un'app canvas può generare molte chiamate dati in breve tempo. Quando le chiamate dati superano i limiti impostati per un connettore, l'app è soggetta a limitazione temporanea. Pertanto, la scelta dell'origine dati e del connettore corretti è importante da molti punti di vista, come è importante comprendere i limiti specifici del connettore. È possibile consultare la documentazione sui connettori per conoscere eventuali limitazioni che potrebbero avere.
Impostazione Debug app pubblicata abilitata
Se l'impostazione Debug app pubblicata è abilitata, le prestazioni delle app saranno più lente. È possibile ripubblicare l'app con questa impostazione disabilitata una volta stabilito che non è più necessario visualizzare le espressioni del codice sorgente durante il debug dell'app pubblicata.
Per riepilogare, l'unità ha descritto cosa succede quando un utente inizia a usare l'app, relativamente alle fasi di esecuzione e al flusso di chiamate dati. Ha inoltre illustrato alcune delle cause comuni per cui le prestazioni dell'app possono risultare ridotte. Non si tratterà di altro in questa unità, tuttavia è possibile consultare Suggerimenti e procedure consigliate per migliorare le prestazioni delle app canvas e Considerazioni per ottenere prestazioni ottimizzate in Power Apps.