Elementi consigliati per la raccolta di dati sulle prestazioni

Si applica a questa raccomandazione della checklist di efficienza delle prestazioni ben architettata: Power Platform

PE:04 Raccogliere i dati sulle prestazioni. I componenti e i flussi del carico di lavoro dovrebbero fornire parametri e log automatici, continui e significativi. Raccogli dati a diversi livelli del carico di lavoro, ad esempio a livello di applicazione, piattaforma, dati e sistema operativo.

La raccolta dei dati sulle prestazioni è il processo di raccolta di parametri e log che forniscono informazioni sulle prestazioni di un carico di lavoro. Questi dati includono valori numerici, noti come metriche. Le metriche descrivono lo stato del sistema in un particolare periodo di tempo. I dati sulle prestazioni includono anche log che contengono diversi tipi di dati organizzati in record.

Raccogliendo dati sulle prestazioni, è possibile monitorare e analizzare le prestazioni di un carico di lavoro. È possibile utilizzare queste informazioni per identificare i colli di bottiglia delle prestazioni, risolvere i problemi e prendere decisioni basate sui dati per migliorare l'efficienza prestazionale complessiva del carico di lavoro.

Senza informazioni dettagliate basate sui dati, potresti non essere a conoscenza dei problemi prestazionali sottostanti o delle opportunità di ottimizzazione. I potenziali risultati includono tempi risposta più lenti, velocità effettiva ridotta e, in definitiva, un'esperienza utente non ottimale. Inoltre, la mancanza di dati sulle prestazioni rende difficile diagnosticare e risolvere i problemi in modo tempestivo, con conseguenti tempi di inattività prolungati e riduzione della produttività.

Definizioni

Termine Definizione
Log attività Log che tengono traccia delle operazioni di gestione sulle risorse, come l'eliminazione di una risorsa.
Log applicazioni Log che tengono traccia delle informazioni su eventi, errori e altre attività dell'applicazione, come accessi ed errori di connessione al database.
Strumento di monitoraggio delle prestazioni delle applicazioni (APM) Uno strumento che monitora e segnala le prestazioni di un'applicazione.
Strumentazione codice L'acquisizione diretta o indiretta di parametri prestazionali dal punto di vista del codice dell'applicazione. Le metriche acquisite includono metriche di flusso, utilizzo delle risorse e metriche specifiche per la lingua o il runtime.
Tracciamento distribuito Raccolta e correlazione di parametri tra i componenti del carico di lavoro distribuito.
Sink delle metriche Una destinazione di archiviazione per i tuoi parametri che correla i dati delle serie temporali per l'analisi.
Log delle piattaforme Dati di diagnostica e controllo che includono log di risorse, log di attività e log di controllo.
Metriche della piattaforma Valori numerici che registrano le prestazioni del carico di lavoro in un determinato momento.
Log delle risorse Dati generati dal sistema. Fornisce informazioni sullo stato del sistema.
Registrazione strutturata Definizione di un formato significativo per registrare i messaggi, in genere come coppie chiave-valore.

Strategie di progettazione chiave

L'ottimizzazione delle prestazioni richiede dati per misurare le prestazioni attuali di un carico di lavoro o di un flusso rispetto ai relativi obiettivi prestazionali. È necessario raccogliere la giusta quantità e diversità di dati con cui misurare le prestazioni del codice e dell'infrastruttura in confronto agli obiettivi prestazionali. Assicurati che ogni componente e flusso all'interno del carico di lavoro generi automaticamente metriche e log continui e significativi. È necessario reperire questi dati da diversi livelli come l'applicazione, la piattaforma, l'archiviazione e il sistema operativo. La raccolta completa dei dati sulle prestazioni consente una comprensione olistica delle prestazioni, consentendo l'identificazione precisa delle inefficienze e delle strade per il miglioramento.

Centralizzare i dati delle prestazioni

La centralizzazione dei parametri e dei registri delle prestazioni è il processo di raccolta dei parametri e dei registri delle prestazioni da varie origini e della loro archiviazione in una posizione centrale. Creare un sink di metriche centrale e un sink di log centrale. Questa centralizzazione consente un facile accesso, analisi e monitoraggio dei parametri e dei registri delle prestazioni su diversi sistemi e componenti. Centralizzando parametri e log, ottieni visibilità sulle prestazioni del tuo carico di lavoro. Scegli una piattaforma o uno strumento adatto in grado di aggregare e archiviare parametri e log delle prestazioni del carico di lavoro.

Compromesso: comprendere il costo della raccolta di parametri e log. In generale, più parametri e log raccogli, maggiore sarà il costo.

Suddividere in segmenti i dati sulle prestazioni

La segmentazione dei dati sulle prestazioni implica l'organizzazione e la categorizzazione di metriche e log in base a origine, scopo o ambiente. Ad esempio, dovresti separare i dati di produzione da quelli non di produzione o distinguere tra obiettivi di prestazione e metriche aziendali. La segmentazione dei dati aiuta a ottimizzare ambienti specifici, facilita la risoluzione dei problemi e limita le imprecisioni nel monitoraggio delle prestazioni. Mantenendo una chiara distinzione tra diversi tipi di dati, puoi acquisire, analizzare e rispondere ai parametri pertinenti in modo più efficiente e migliore allineare integrità del carico di lavoro con obiettivi del carico di lavoro. Per segmentare i dati relativi alle prestazioni, prendi in considerazione i seguenti elementi consigliati:

  • Mantenere separati i dati di produzione da quelli non di produzione. Separando i dati per ambiente, puoi garantire un monitoraggio e un'ottimizzazione mirati di ciascun ambiente. Negli ambienti di produzione è possibile identificare e risolvere meglio i problemi prestazionali che influiscono direttamente sugli utenti e sulle operazioni aziendali. Negli ambienti non di produzione, la separazione dei dati facilita la risoluzione efficace dei problemi e la messa a punto durante la fase di test prima della distribuzione in produzione.

  • Utilizzare un set di dati all'interno di ogni ambiente. Non utilizzare un set di dati per gli obiettivi prestazionali e un altro set di dati per gli avvisi relativi agli obiettivi prestazionali. L'utilizzo di set di dati diversi porta ad avvisi imprecisi che minano l'efficacia del monitoraggio delle prestazioni.

  • Separare gli obiettivi di prestazione e le metriche aziendali. I team operativi e di sviluppo utilizzano obiettivi prestazionali per monitorare lo stato del carico di lavoro e raggiungere gli obiettivi aziendali. Le metriche aziendali si riferiscono agli obiettivi aziendali o ai report sui clienti. Acquisisci le metriche aziendali in un flusso di dati separato, anche se i dati si sovrappongono direttamente. Questa separazione offre la flessibilità necessaria per acquisire i dati giusti e analizzarli in modo indipendente.

Definire i criteri di conservazione

I criteri di conservazione stabiliscono per quanto tempo devono essere conservati i dati sulle prestazioni. La definizione di questi criteri aiuta a gestire l'archiviazione in modo efficiente e garantisce che solo i dati necessari siano accessibili per l'analisi. Tali criteri supportano prestazioni migliori e soddisfano gli standard di conformità. È necessario configurare criteri di conservazione per i dati di log e parametri per consentire una risoluzione dei problemi e un monitoraggio efficaci in tutti gli ambienti. Ad esempio, potrebbe essere necessario conservare i log e le metriche per un periodo di tempo più lungo in un ambiente di produzione rispetto all'ambiente di test. Il periodo di conservazione deve corrispondere ai requisiti dell'organizzazione e alle normative di conformità. Decidi per quanto tempo conservare i dati per scopi di analisi e controllo. Archivia i dati che non ti servono per un'analisi immediata.

Raccogliere i dati sulle prestazioni

La raccolta dei dati implica il monitoraggio e l'analisi dei parametri prestazionali di un carico di lavoro, come velocità effettiva, latenza e tempi di completamento, raccolti principalmente tramite il codice di strumentazione. I dati sulle prestazioni del carico di lavoro forniscono informazioni preziose sullo stato e sulle prestazioni di un'applicazione. Monitorando e analizzando i dati sulle prestazioni, puoi identificare e risolvere i problemi, ottimizzare le prestazioni e prendere decisioni informate per il tuo carico di lavoro.

Codice strumentale

La strumentazione si riferisce al processo di integrazione di frammenti di codice o azioni nel codice dei carichi di lavoro; ad esempio, creando eventi di traccia personalizzati nella tua app canvas. Lo scopo della strumentazione è acquisire dati sulle prestazioni durante l'esecuzione del carico di lavoro. È essenziale raccogliere parametri che evidenzino le operazioni critiche del carico di lavoro. Concentrati su parametri quali velocità effettiva, latenza e tempo di completamento. È importante differenziare le operazioni legate al business dalle altre operazioni. Per i dati relativi alle operazioni aziendali, assicurati che i relativi metadati siano strutturati in modo da consentire il monitoraggio e l'archiviazione distinti. Strumentazione codice offre i seguenti vantaggi:

  • Identificazione dei colli di bottiglia nelle prestazioni: Monitorando parametri come il tempo trascorso, è possibile identificare i colli di bottiglia e ottimizzare il codice di conseguenza.

  • Valutazione del comportamento del sistema sotto carico: È possibile osservare come si comporta il carico di lavoro in diversi scenari di stress. Questi dati possono aiutarti a identificare i problemi relativi alla scalabilità, alla concorrenza e all'utilizzo delle risorse.

  • Monitoraggio carico di lavoro salute e disponibilità: Poiché gli indicatori chiave delle prestazioni vengono monitorati in tempo reale, è possibile ricevere avvisi su potenziali problemi che incidono sulle prestazioni e sulla disponibilità dell'applicazione.

  • Migliora l'esperienza utente: È possibile ottenere informazioni su come gli utenti interagiscono con il carico di lavoro. Utilizza queste informazioni per ottimizzare l'esperienza dell'utente e identificare le aree di miglioramento.

  • Pianificare la capacità e allocare le risorse: I dati sulle prestazioni raccolti dalla strumentazione possono fornire informazioni preziose sui requisiti di risorse di un carico di lavoro. Queste informazioni possono orientare le tue decisioni sulla capacità di pianificazione e sull'allocazione delle risorse.

Quando esegui la strumentazione del ​​codice per il monitoraggio delle prestazioni, considera le seguenti strategie:

  • Utilizzare gli strumenti APM :Gli strumenti di monitoraggio delle prestazioni delle applicazioni (APM) raccolgono e analizzano i dati sulle prestazioni, tra cui metriche, tracce e registri. Gli strumenti APM offrono funzionalità come strumentazione a livello di codice, tracciamento delle transazioni e profilazione delle prestazioni.

  • Strumentazione personalizzata : Gli sviluppatori possono aggiungere codice personalizzato per raccogliere metriche delle prestazioni specifiche per la loro applicazione e il loro carico di lavoro. La strumentazione personalizzata può misurare i tempi di esecuzione, tenere traccia dell'utilizzo delle risorse o acquisire eventi specifici.

  • Acquisire i tempi delle transazioni. L'acquisizione dei tempi di transazione riguarda la misurazione dei tempi end-to-end per le funzioni tecniche chiave come parte del monitoraggio delle prestazioni. Le metriche a livello di applicazione dovrebbero includere i tempi di transazione end-to-end. Questi tempi di transazione dovrebbero coprire le funzioni tecniche chiave come le query del database, i tempi risposta per le chiamate API esterne e i tassi di errore delle fasi di elaborazione.

  • Utilizzare gli standard di telemetria. Prendi in considerazione l'utilizzo di raccolte di strumentazione e strumenti APM basati su uno standard di telemetria, come OpenTelemetry.

Raccogliere i dati sulle prestazioni delle risorse

Raccogliendo dati sulle prestazioni delle risorse, puoi ottenere informazioni dettagliate sullo stato e sul comportamento del tuo carico di lavoro. I dati sulle prestazioni delle risorse forniscono informazioni sull'utilizzo delle risorse, che è fondamentale per la pianificazione della capacità. Questi dati forniscono inoltre informazioni approfondite sullo stato di un carico di lavoro e possono aiutarti a rilevare problemi e risolverli. Prendi in considerazione le seguenti raccomandazioni:

  • Raccogli parametri e log per ogni risorsa. Ogni servizio dispone di una serie di metriche univoche per la funzionalità della risorsa. Queste metriche ti aiutano a comprendere l'integrità e le prestazioni della risorsa.

  • Usare gli strumenti della piattaforma. Prendi ispirazione dalle soluzioni di monitoraggio predefinite e integrate, come Insights di Monitoraggio di Azure. Questi strumenti semplificano le operazioni relative alle prestazioni. Considera gli strumenti della piattaforma mentre selezioni una piattaforma e investi in strumenti o report personalizzati.

  • Monitorare il traffico di rete. Monitorare il traffico di rete significa tracciare e analizzare il flusso e i modelli di dati mentre si spostano attraverso i percorsi della rete. Raccogli analisi del traffico e monitora il traffico che attraversa i confini della rete secondaria. Il tuo obiettivo è analizzare e ottimizzare le prestazioni della rete.

Raccogliere dati di database e archiviazione

Molti database e sistemi di archiviazione forniscono i propri strumenti di monitoraggio. Questi strumenti raccolgono dati sulle prestazioni specifici di tali sistemi. I database e i sistemi di archiviazione spesso generano registri che contengono eventi e indicatori relativi alle prestazioni. Raccogli i dati del database e quelli sulle prestazioni dello storage in modo da poter identificare i colli di bottiglia, diagnosticare i problemi e prendere decisioni informate per migliorare le prestazioni complessive e l'affidabilità del carico di lavoro. Prendi in considerazione la raccolta dei seguenti tipi di dati sul rendimento:

  • Capacità di produzione : La produttività misura la quantità di dati letti o scritti sul sistema di archiviazione in un determinato periodo di tempo. I dati della velocità effettiva indicano le capacità di trasferimento dei dati.

  • Latenza : La latenza misura la durata delle operazioni di archiviazione. I dati di latenza indicano la reattività del sistema di archiviazione.

  • IOPS (operazioni I/O al secondo) : Dati relativi al numero di operazioni di lettura o scrittura che il sistema di archiviazione può eseguire in un secondo. I dati IOPS indicano la velocità effettiva e la reattività del sistema di archiviazione.

  • Capacità di utilizzo : La capacità utilizzata è la quantità di capacità di archiviazione utilizzata e la quantità disponibile. I dati sull'utilizzo della capacità aiutano le organizzazioni a pianificare le future esigenze di storage.

Raccogliere i dati sulle prestazioni del connettore

Il tempo trascorso in attesa del completamento delle operazioni dei servizi integrati può contribuire alle scarse prestazioni complessive di un carico di lavoro. Se il tuo carico di lavoro utilizza connettori per integrare servizi, valuta la possibilità di misurare il tempo impiegato in ciascuna operazione del connettore per valutarne l'impatto e decidere se ottimizzare la progettazione del carico di lavoro. A seconda del servizio, puoi utilizzare la cronologia di esecuzione o la logica personalizzata per acquisire il tempo impiegato nelle operazioni del connettore.

Convalidare e analizzare i dati

I dati sulle prestazioni dovrebbero essere allineati agli obiettivi di prestazione. I dati devono rappresentare il carico di lavoro o le prestazioni del flusso in modo completo e accurato in relazione agli obiettivi prestazionali. Ad esempio, il tempo risposta per un servizio Web ha un obiettivo prestazionale di 500 millisecondi. Trasformare l'analisi dei dati in una routine, poiché valutazioni frequenti consentono il rilevamento precoce e la mitigazione dei problemi di prestazioni.

  • Crea avvisi. È utile disporre di avvisi utilizzabili, che consentano la rapida identificazione e correzione dei problemi di prestazioni. Questi avvisi dovrebbero indicare chiaramente la soglia prestazionale superata, il potenziale effetto aziendale e i componenti coinvolti. Inizia impostando avvisi comuni e consigliati. Nel tempo, puoi modificare questi criteri in base alle tue esigenze specifiche. L'obiettivo principale di questi avvisi dovrebbe essere quello di prevedere potenziali cali di prestazioni prima che si trasformino in problemi significativi. Se non puoi impostare un avviso per una dipendenza esterna, valuta la possibilità di ideare un metodo per raccogliere misurazioni indirette, come la durata di una chiamata di dipendenza.

  • Impostare i limi della raccolta dati Determina e imposta limiti logici sul volume di dati raccolti e sulla relativa durata di conservazione. La telemetria a volte può produrre quantità enormi di dati. È essenziale concentrarsi sull'acquisizione solo degli indicatori di prestazione più vitali o disporre di un sistema efficiente per estrarre informazioni significative dai dati sulle prestazioni.

Power Platform facilitazione

Raccolta dati sulle prestazioni delle applicazioni : Application Insights è una funzionalità di Azure Monitor che consente di monitorare le prestazioni e la disponibilità dell'applicazione. I dati vengono archiviati nei log di Azure Monitor da Application Insights, e visualizzato in Prestazioni e guasti pannelli. I dati vengono esportati nell'ambiente Application Insights nello schema standard definito da Application Insights. Puoi esportare Dataverse E Power Automate dati A Application Insights, Connetti le tue app canvas A Application Insights e acquisire dati di telemetria dal tuo Microsoft Copilot Studio copilot per l'uso in Azure Application Insights.

Application Insights ti consente di scegliere le viste di dati Server e Browser. Identificando queste operazioni con la durata più lunga, è possibile diagnosticare potenziali problemi.

Utilizza le funzionalità della piattaforma nativa per analizzare le prestazioni: Analisi in Copilot Studio fornisce una panoramica completa delle prestazioni del tuo copilota. Utilizza la tecnologia dell'intelligenza artificiale (IA) per identificare quali argomenti hanno il maggiore impatto sul tasso di escalation, sul tasso di abbandono e sul tasso di risoluzione. Informazioni sulle prestazioni per Power Apps analizzare i dati utente in fase di esecuzione e fornire un elenco prioritario di raccomandazioni per contribuire a migliorare le prestazioni delle app basate su modelli.

Centralizzazione, segmentazione e conservazione dei dati sulle prestazioni: Microsoft raccoglie già una telemetria estesa su Dataverse, Power Automate flussi cloud e app basate su modelli. Con l'integrazione di Application Insights, un ambiente o un amministratore del tenant fornisce la chiave di strumentazione di Application Insights durante la configurazione del processo di esportazione dei dati nell'interfaccia di amministrazione di Power Platform. Non appena la configurazione è completata, i dati di telemetria raccolti sul tuo ambiente vengono inviati al tuo ambiente. Microsoft Application Insights Quando utilizzi l'integrazione di Application Insights, ricevi un set di telemetria standardizzato che segue il modello di dati di telemetria di Application Insights. Oltre a questa integrazione, puoi anche Connetti app canvas per Application Insights acquisire dati di telemetria dal tuo Microsoft Copilot Studio copilota per utilizzarli in Azure Application Insights.

Raccolta di dati sulle prestazioni delle risorse di Azure: la maggior parte dei servizi di Azure genera registri e metriche della piattaforma che forniscono informazioni di diagnostica e controllo. Abilitando le impostazioni di diagnostica, puoi specificare i log e i parametri della piattaforma da raccogliere e archiviare. A fini di correlazione, abilita la diagnostica per tutti i servizi supportati e invia i log alla stessa destinazione dei log dell'applicazione.

Raccolta dati sulle prestazioni del database:Microsoft Dataverse si integra con Application Insights. Il flusso dei dati attualmente fornisce dati sulle prestazioni relativi alle chiamate in arrivo dell'API Dataverse, alle chiamate di esecuzione del plug-in Dataverse e alle chiamate dell'SDK Dataverse. Per ricevere notifiche sui problemi, imposta avvisi in base alle soglie di prestazione.

Convalida e analisi dei dati sulle prestazioni: in Azure Monitor puoi usare i log di Azure Monitor per raccogliere, analizzare e visualizzare i dati dei log dalle tue applicazioni e dai tuoi sistemi. Aggregando i log, puoi eseguire query incrociate sugli eventi e ottenere informazioni dettagliate sulle prestazioni della tua applicazione. Per ulteriori informazioni, vedi Calcoli e opzioni dei costi dei log di Monitoraggio di Azure** e Prezzi per Monitoraggio di Azure.

In Monitoraggio di Azure è possibile definire regole di avviso per monitorare metriche relative alle prestazioni specifiche e attivare avvisi in base a condizioni predefinite. Ad esempio, puoi creare una regola di avviso che notifichi quando il tempo risposta supera un limite specificato. Configurare la regola di avviso per inviare notifiche ai destinatari desiderati.

Quando si crea una regola di avviso, è possibile definire i criteri che determinano quando un avviso deve essere attivato. È possibile impostare soglie, metodi di aggregazione, finestre temporali e frequenza di valutazione. Definire i criteri in base ai requisiti di monitoraggio delle prestazioni. Oltre a inviare notifiche, è possibile specificare le azioni da intraprendere quando viene attivato un avviso. Le azioni possono includere l'invio di messaggi di posta elettronica, la chiamata di webhook o l'esecuzione di funzioni di Azure. Scegli le azioni appropriate per rispondere allo scenario di avviso specifico.

Esempi

Elenco di controllo dell'efficienza prestazionale

Fai riferimento alla serie completa di elementi consigliati.