Informazioni dettagliate (anteprima)

[Questo argomento fa parte della documentazione non definitiva, pertanto è soggetto a modifiche.]

Le informazioni dettagliate sulle prestazioni distribuiscono gli approfondimenti nelle seguenti categorie:

Prestazioni complessive

Queste informazioni dettagliate riepilogano le prestazioni complessive della tua app come riepilogo esecutivo in Insight ID Perf.Summary.Overview.

In questo approfondimento, puoi vedere le prestazioni complessive della tua app in base alla gravità.

  • Critico: indica prestazioni insufficienti.
  • Avviso: indica che le prestazioni potrebbero essere migliorate.
  • Informativo: indica una buona prestazione.

Istruzioni per migliorare

Quando arriva il momento di ottimizzare l'app, puoi guardare le informazioni dettagliate di client, rete, categorie di personalizzazione, plug-in, query salvate e impostazioni. Alcuni elementi utilizzabili possono essere derivati rivedendo tali informazioni dettagliate.

Ambiente client

Quando gli utenti usano un'app Power Apps sui propri dispositivi, diversi fattori possono influire sulle prestazioni come il tipo di browser, la versione del browser e le specifiche dell'hardware. In questa sezione puoi vedere quali informazioni dettagliate controllano gli ambienti client.

Tipo di browser

Insight ID: Perf.Environment.Client.Browser.Type

Motivazione

Alcuni tipi di Web browser possono influire sulle prestazioni della tua app. L'utilizzo di browser non supportati o non moderni può causare un rallentamento delle prestazioni. Queste informazioni dettagliate forniscono le implicazioni sulle prestazioni di diversi browser, in particolare i browser non consigliati. Ad esempio, Power Apps ha deprecato il supporto di Internet Explorer.

Istruzioni per migliorare

Se hai utenti su vecchi browser come Internet Explorer, passa a un browser moderno basato su Chromium. Consigliamo agli utenti di eseguire un browser moderno, come Microsoft Edge o Google Chrome.

Nota

Alcune applicazioni legacy che sfruttano NPAPI funzioneranno solo su Internet Explorer.

Versione browser

Insight ID: Perf.Environment.Client.Browser.Version

Motivazione

Queste informazioni dettagliate controllano quanti utenti stanno utilizzando la tua app da una vecchia versione di un browser. Anche quando gli utenti eseguono browser moderni e tipi di browser non consigliati come Internet Explorer, le versioni precedenti dei browser sono più lente.

Istruzioni per migliorare

Gli utenti devono eseguire regolarmente l'aggiornamento alla versione più recente del browser. I clienti aziendali possono applicare un criterio di gruppo per essere su una versione specifica. Poiché Unified Service Desk (USD) utilizza anche l'impostazione del browser predefinita del computer, richiede anche la verifica del tipo e della versione del browser predefinito.

Requisiti minimi di sistema

Insight ID: Perf.Environment.Device.MimimumRequirements

Motivazione

Queste informazioni dettagliate controllano se l'ambiente dell'utente soddisfa i requisiti minimi di sistema. Puoi controllare i requisiti dell'applicazione Web per vedere quali sono i requisiti minimi di sistema a seconda del tipo di app.

In generale, alcune attività come il rendering, lo scripting e il download di contenuti avvengono sul lato client. Per tali attività è necessario soddisfare i requisiti minimi di sistema.

Istruzioni per migliorare

Gli utenti devono utilizzare l'hardware che soddisfa o supera i requisiti minimi di sistema per Power Apps.

Protocollo HTTP

Insight ID: Perf.Environment.Client.Browser.HttpProtocol

Motivazione

La piattaforma Power Apps supporta HTTP/2. Tuttavia, se la tua app utilizza il protocollo HTTP/1.1 per le richieste XMLHttpRequest (XHR) su Power Apps, potrebbe causare un rallentamento delle prestazioni a causa della limitazione simultanea delle richieste con il protocollo HTTP/1.1.

Istruzioni per migliorare

Se queste informazioni dettagliate hanno identificato alcuni utenti che utilizzano il protocollo HTTP/1.1, è altamente consigliabile che il client di questi utenti supporti il protocollo HTTP/2.

Diverse configurazioni e infrastrutture di rete possono bloccare il protocollo HTTP/2, come una rete VPN, un server proxy o le impostazioni delle opzioni Internet del dispositivo.

Gli utenti possono verificare quale protocollo è stato utilizzato da uno strumento di sviluppo incluso nel browser. Nella figura seguente, le chiamate di rete si sono verificate su HTTP/2.

Esempio di chiamate di rete HTTP 2.

Se la traccia del protocollo di rete indica HTTP/1.1, potrebbe essere dovuto a quanto segue:

  • Impostazioni Internet: l'opzione Internet di Windows, scheda Avanzate nel pannello di controllo, opzioni Usa HTTP2 e Usa TLS 1.2 non sono abilitate.
  • VPN e proxy: sebbene l'opzione Internet di Windows sia impostata per utilizzare HTTP2 e TLS 1.2, il browser potrebbe eseguire il fallback quando una VPN o un proxy non supportano i protocolli più recenti.

Modello di utilizzo

Questa categoria analizza il tipo di caricamento della pagina. Un caricamento a caldo di una pagina esegue il rendering della pagina utilizzando cache e oggetti DOM esistenti, mentre un caricamento a freddo di una pagina esegue il rendering della pagina scaricando le risorse quando richiesto. Sebbene gli utenti non distinguano il tipo di caricamento della pagina, queste informazioni dettagliate analizzano e forniscono consigli a seconda del tipo di caricamento della pagina che si verifica sul client.

Tipo di caricamento della pagina

Insight ID: Perf.Performance.PageLoadType

Motivazione

I caricamenti a caldo delle pagine sono più veloci dei caricamenti a freddo delle pagine poiché le risorse necessarie vengono caricate dalle cache locali.

Nota

Quando un utente apre un modulo da una nuova scheda o una nuova scheda in un browser, viene considerato un caricamento a freddo di una pagina. Quando un utente apre altri moduli nell'app all'interno della scheda attiva di un browser, viene considerato un caricamento a caldo della pagina.

Istruzioni per migliorare

Per sperimentare il caricamento a caldo delle pagine per prestazioni più veloci, ridurre al minimo l'apertura di nuove schede o finestre del browser. Cerca di mantenere le attività all'interno di una singola scheda invece di aprire nuove schede o finestre del browser. Si consiglia inoltre di non eseguire il browser in modalità InPrivate o in incognito.

Prestazioni delle pagine

Molte app basate su modelli proprietari sono costituite da un dashboard, viste (EntityList) e un modulo per quanto riguarda il tipo di pagina. Per impostazione predefinita, gli utenti caricano una dashboard, anche se i produttori di app e gli amministratori possono modificare questa impostazione. Se un dashboard contiene molti grafici e riquadri, ciò potrebbe rallentare il caricamento del dashboard. Allo stesso modo, se EntityList e i moduli vengono personalizzati per aggiungere molte colonne e visualizzare molti record, il caricamento della pagina può risultare rallentato. Pertanto, il controllo delle prestazioni per pagina e per tabella può essere utile perché le prestazioni di caricamento della pagina possono avere cause principali diverse.

In questa sezione puoi vedere diverse informazioni dettagliate relative alle prestazioni della pagina.

Dashboard lenti

Insight ID: Perf.ModelDriven.Page.Dashboard.SlowSQLQuery

Motivazione

Query SQL lente o l'utilizzo di troppi grafici e riquadri in un dashboard possono causare prestazioni scadenti del dashboard. Queste informazioni dettagliate puntano ai dashboard interessati da query SQL lente. Quando queste informazioni dettagliate vengono registrate, il riquadro Dettagli include l'ID dashboard per ogni dashboard incluso nelle informazioni dettagliate.

Istruzioni per migliorare

Ecco come cercare il nome del dashboard utilizzando l'ID dashboard. Quindi, puoi determinare quali dashboard considerare per la riprogettazione.

  1. Vai all'app basata su modello, ad esempio https://contoso.crm.dynamics.com.

  2. Modifica l'URL come mostrato in questo esempio (https://contoso.dynamics.com/api/data/v9.1/systemforms[DashboardId]/name) aggiungendo api/data/v9.1/systemforms[DashboardId]/name all'URL dell'app.

  3. Riceverai una richiesta OData simile alla seguente. Il dashboard agente visualizzato di seguito rappresenta il nome descrittivo dell'ID dashboard specifico.

    {"@odata.context":https://contoso.crm.dynamics.com/api/data/v9.1/$metadata#systemforms(2ff4a8cf-378b-e811-a964-000d3a30dc0a)/name,"value":"Contoso - Agent Dashboard"}

Plug-in sincroni con chiamate esterne lente

Insight ID: Perf.Sandbox.Performance.Plug-ins.ExternalCall

I plug-in e le attività del flusso di lavoro personalizzato possono accedere ai servizi Web (endpoint esterni) tramite i protocolli HTTP e HTTPS. Se questi servizi esterni sono rallentati, il plug-in stesso farà registrare un timeout o funzionerà lentamente.

Motivazione

Queste informazioni dettagliate controllano le prestazioni degli endpoint esterni e rilevano i plug-in nella tua app che sono interessati dalle chiamate esterne lente.

Istruzioni per migliorare

Maggiori informazioni: Accedere a servizi Web esterni (Microsoft Dataverse) - Power Apps | Microsoft Docs.

Personalizzazione

Gli autori possono eseguire molte personalizzazioni diverse con app basate su modello, come:

  • Inserire funzioni JavaScript personalizzate per abilitare gli eventi sul client.
  • Creare e distribuire plug-in utilizzati per eseguire la logica personalizzata.
  • Definire e archiviare tabelle e dati personalizzati.
  • Definire i componenti dipendenti sia per le tabelle personalizzate che per quelle standard, come moduli e viste.

Dal punto di vista delle prestazioni, tutte queste personalizzazioni potrebbero causare una risposta non all'altezza dell'app in situazioni in cui la personalizzazione non segue le procedure consigliate e i consigli. Gli autori possono eseguire Verifica soluzione per convalidare le proprie personalizzazioni durante la fase di sviluppo.

Le informazioni dettagliate seguenti forniscono anche risultati analitici dai dati utente di runtime della personalizzazione.

Tipo di chiamata XML HTTP Request (XHR)

Insight ID: Perf.ModelDriven.Customization.Client.Script.XMLHttpRequestType

Le chiamate XMLHttpRequest sincrone possono causare gravi problemi di prestazioni per gli utenti finali, soprattutto quando la rete è lenta o sono necessarie più chiamate. Il browser si blocca e l'utente finale è frustrato quando non può fare clic, scorrere o interagire con la pagina.

Queste informazioni approfondite rivelano se esistono metodi sincroni e indicano le relative prestazioni.

Motivazione

Le chiamate XHR sincrone rallentano le prestazioni del browser poiché il browser deve attendere il completamento della chiamata sincrona causando il rallentamento o il blocco completo della pagina.

Istruzioni per migliorare

Ti consigliamo di modificare i metodi principali menzionati nella sezione dati delle informazioni dettagliate da sincrono ad asincrono. Maggiori informazioni: Ottimizza le tue app basate su modello eseguendo la transizione dalle richieste sincrone

Controlli deprecati

Insight ID: Perf.Customization.Controls.Deprecated

Alcuni controlli meno recenti per app basate su modello come Commutazione, Controllo calendario (V1), Dispositivo di scorrimento lineare, Manopola radiale, Manopola sferica, Misuratore lineare; insieme al controllo Anteprima sito web, MultiSelectPicklistControl (V1) e Etichetta di commutazione sono deprecati. Alcuni di questi controlli possono essere sostituiti con i nuovi controlli, che sono più in linea con il Web moderno e progettati per i dispositivi mobili. Maggiori informazioni: Nuovi controlli delle app basate su modello, deprecazione dei vecchi controlli

Motivazione

L'utilizzo di controlli obsoleti può causare problemi di prestazioni, affidabilità e accessibilità. Inoltre, alcune delle limitazioni di questi controlli obsoleti sono state risolte con i nuovi controlli. Ad esempio, il controllo Interruttore e Controllo calendario (V2) utilizzano l'interfaccia utente Microsoft Fluent.

Istruzioni per migliorare

  • Utilizzare il controllo Interruttore in sostituzione di Etichetta di commutazione e Commutazione.
  • Utilizzare Controllo calendario (V2) in sostituzione di Controllo calendario (V1).
  • Valutare altri controlli deprecati per determinare se sono ancora utili all'interno dei moduli esistenti.

Notare che ci sono poche modifiche significative alla progettazione tra la versione deprecata e i nuovi controlli.

Per ulteriori informazioni sui controlli deprecati, vai a Deprecazione di controlli delle app basate su modello.

Prestazioni sandbox - plug-in dominanti

Insight ID: Perf.Sandbox.Performance.Plug-ins.Dominant

Queste informazioni dettagliate ci aiuteranno a identificare il plug-in dominante, o in altre parole, quello più utilizzato. Indicheranno anche se uno dei plug-in utilizzati prevalentemente ha funzionato lentamente con un tempo di esecuzione superiore a 100 millisecondi nel 95esimo percentile. Queste informazioni dettagliate elencheranno fino a tre plug-in dominanti.

Motivazione

Plug-in dominanti lenti incidono negativamente sulle prestazioni. Questi plug-in dovrebbero essere esaminati.

Istruzioni per migliorare

Esamina i plug-in con prestazioni lente. Dai un'occhiata alle best practice relative allo sviluppo di plug-in e flussi di lavoro.

Per esaminare ulteriormente il plug-in lento, è possibile configurare le impostazioni di Registro di traccia plug-in su Tutti nell'ambiente di sviluppo o test e determinare dove si trova il ritardo. Tuttavia, non dimenticare di disabilitare l'impostazione prima di andare in produzione. Maggiori informazioni: Tracciamento e registrazione

Esamina i plug-in con prestazioni lente. Alcuni dei motivi per i plug-in lenti sono descritti qui:

  • Le query SQL associate sono state eseguite lentamente, quindi il tempo di esecuzione del plug-in è aumentato.
  • Segui il principio della responsabilità unica per il tuo plug-in e non effettuare transazioni con limiti di transazione significativi.
  • Il plug-in potrebbe effettuare alcune chiamate esterne, che sono lente.
  • La logica del plug-in non è ottimizzata per gli ambienti multi-threading. Controlla il tuo codice.

Per esaminare ulteriormente il plug-in lento, è possibile configurare le impostazioni di Registro di traccia plug-in su Tutti nell'ambiente di sviluppo o test e determinare dove si trova il ritardo. Non dimenticare di disabilitare l'impostazione prima di andare in produzione. Maggiori informazioni: Tracciamento e registrazione

Query salvata con carattere jolly iniziale

Insight ID: Perf.ModelDriven.Customization.SavedQuery.LeadingWildCard

I caratteri jolly iniziali sono condizioni like o not like che usano un carattere jolly (%%) all'inizio della stringa di ricerca. Un esempio di richiesta scritta male è:

<fetch version="1.0" output-format="xml-platform" mapping="logical"> 
    <entity name="account"> 
        <attribute name="accountid" /> 
        <attribute name="accountnumber" /> 
        <filter type="and"> 
            <condition attribute="accountnumber" operator="like" value="%124" /> 
        </filter> 
    </entity> 
</fetch>

Motivazione

Un carattere jolly iniziale (%%) in una query salvata può causare il timeout o rallentare la query. Queste informazioni dettagliate puntano a queste query lente salvate con caratteri jolly principali.

Istruzioni per migliorare

Evita di utilizzare caratteri jolly iniziali. Nella chiave di ricerca, questi sono tradotti in "contiene" in SQL Server, che non sfrutterà la ricerca nell'indice ma eseguirà invece una scansione. Se è necessario utilizzare un carattere jolly iniziale, limitare l'ambito della ricerca includendo altre condizioni. Si noti che è possibile utilizzare caratteri jolly finali (%%) alla fine delle stringhe di ricerca.

Configurazione

Impostazione registro di traccia plug-in

Insight ID: Perf.Sandbox.Configuration.PluginTraceSettings

I produttori possono eseguire il debug dei propri plug-in tramite i log di traccia dei plug-in. Gli amministratori di Dataverse possono impostare il plug-in e la tracciatura personalizzata dell'attività del flusso di lavoro su Off, Eccezione o Tutti.

Impostazioni registro di traccia plug-in

Motivazione

Il registro di traccia plug-in deve essere impostato su Tutti solo durante il debugging o il tweaking del plug-in. Un volume elevato di registrazione della traccia può causare un sovraccarico di I/O con SQL Server. Inoltre, l'eliminazione del registro di traccia del plug-in potrebbe causare blocchi o attese con SQL Server.

Istruzioni per migliorare

Nella tua istanza di produzione, se questa impostazione è Tutti e il volume dei registri generati dal plug-in è elevato, prendi in considerazione l'impostazione Eccezione.

Per modificare questa impostazione, vai a Impostazioni > Amministrazione > Impostazioni di sistema > scheda Personalizzazione. Maggiori informazioni: Registrazione e tracciamento

Rete

Prestazioni di rete

La latenza di rete e la velocità effettiva sono fattori importanti che influiscono sull'esperienza dell'utente finale. Gli utenti con alta latenza e bassa velocità effettiva avranno più probabilità di avere prestazioni lente durante l'accesso a Unified Interface. Queste informazioni dettagliate ci dicono quanti utenti si trovano su una rete con prestazioni insufficienti e come erano le loro prestazioni.

Motivazione

Una configurazione di rete non ottimale influirà sulle prestazioni dell'app.

Istruzioni per migliorare

Se ci sono molti utenti sulla rete e le prestazioni sono subottimali, consigliamo agli utenti di passare a una rete con prestazioni migliori.

Vedi anche

Cosa sono le informazioni dettagliate sulle prestazioni?