Raccomandazioni per l'ottimizzazione continua delle prestazioni

Si applica a questa raccomandazione relativa all'elenco di controllo sull'efficienza delle prestazioni ben architettate Power Platform :

PE:10 Ottimizzare continuamente le prestazioni. Concentrarsi sui componenti che mostrano un deterioramento delle prestazioni nel tempo, come database e funzionalità di rete.

Questa guida descrive i consigli per l'ottimizzazione continua delle prestazioni. L'ottimizzazione continua delle prestazioni è il processo di monitoraggio, analisi e miglioramento costante dell'efficienza delle prestazioni. L'ottimizzazione delle prestazioni deve essere un'attività continua per tutta la durata del carico di lavoro. Le prestazioni del carico di lavoro possono peggiorare o diventare eccessive nel tempo. I fattori da considerare includono cambiamenti nei modelli di utilizzo, aumento dei dati archiviati, domanda, funzionalità e debito tecnico.

Definizioni

Termine Definizione
Debito tecnico Le inefficienze accumulate, le scelte di progettazione non ottimali o le scorciatoie adottate intenzionalmente durante il processo di sviluppo per fornire il codice più velocemente.
Tempo di vivere Un meccanismo che imposta una data di scadenza per i dati.

Strategie di progettazione chiave

L'efficienza delle prestazioni si ottiene quando la capacità del carico di lavoro si allinea all'utilizzo effettivo. Un carico di lavoro con prestazioni superiori è altrettanto problematico di uno con prestazioni inferiori. I compromessi differiscono. La sovraperformance influisce sull’ottimizzazione dei costi. Le scarse prestazioni influiscono sugli utenti. La chiave per l’efficienza delle prestazioni è il monitoraggio, l’adeguamento e il test nel tempo. È necessario rivedere regolarmente i parametri delle prestazioni e apportare le modifiche necessarie per garantire che il carico di lavoro sia efficiente. Per raggiungere gli obiettivi prestazionali è necessario testare tutte le modifiche prima e dopo l'implementazione.

Sviluppare una cultura della prestazione

Una cultura della prestazione è un ambiente in cui ci si aspetta un miglioramento continuo e il team impara dalla produzione. L'ottimizzazione delle prestazioni richiede competenze specializzate. I team che gestiscono carichi di lavoro hanno bisogno delle competenze e della mentalità giuste per ottimizzare le proprie prestazioni e soddisfare gli aumenti e le diminuzioni della domanda. È inoltre necessario dedicare il proprio tempo a supportare il monitoraggio richiesto e la risoluzione dei problemi di prestazioni non appena si presentano. Queste squadre hanno bisogno di aspettative chiare. Ad esempio, gli obiettivi prestazionali, i valori di riferimento e le soglie di deviazione (quanto lontano dal valore di riferimento è accettabile) devono essere altamente visibili e socializzati.

Compromesso: le ottimizzazioni continue delle prestazioni richiedono un team che abbia le competenze e il tempo giusti per individuare e risolvere i problemi di prestazioni. Dedicare il personale alle prestazioni aggiunge costi operativi. Se disponi di risorse di personale limitate, l'ottimizzazione continua delle prestazioni potrebbe sottrarre tempo ad altre attività operative.

Valutare le nuove funzionalità della piattaforma

La valutazione delle nuove funzionalità della piattaforma implica l'esame delle nuove funzionalità e caratteristiche che possono migliorare l'efficienza delle prestazioni, come modalità ottimizzate di interrogazione dei dati, controlli moderni o meccanismi di memorizzazione nella cache. Le nuove funzionalità della piattaforma possono aprire strade per migliorare l’efficienza delle prestazioni. Rimani aggiornato sulle funzionalità della piattaforma per assicurarti di utilizzare le innovazioni e le migliori pratiche più recenti. Monitora costantemente il feedback e i parametri prestazionali di queste nuove aggiunte per perfezionare il tuo approccio.

Dare priorità agli sforzi di ottimizzazione

Ottimizzare in modo proattivo le prestazioni significa adottare misure per migliorare e potenziare le prestazioni del carico di lavoro prima che si verifichino problemi di prestazioni. L'utilizzo di misure proattive implica l'identificazione di potenziali colli di bottiglia, il monitoraggio dei parametri prestazionali e l'implementazione di ottimizzazioni per garantire che il carico di lavoro funzioni in modo efficiente e soddisfi gli obiettivi prestazionali desiderati. Sulla base dell'analisi delle componenti in deterioramento, dei flussi critici e del debito tecnico, è possibile implementare ottimizzazioni prestazionali specifiche per ciascuna area. I miglioramenti potrebbero comportare modifiche al codice, aggiustamenti dell'infrastruttura o aggiornamenti della configurazione.

Dare priorità ai componenti deteriorati

Man mano che il carico di lavoro si evolve e cambiano i modelli di utilizzo, questi cambiamenti spesso influiscono sulle prestazioni dei singoli componenti del carico di lavoro. Un aumento dei dati nei database può comportare tempi di esecuzione delle query più lunghi e un recupero dei dati più lento. Le modifiche ai modelli di utilizzo potrebbero comportare una progettazione della query non ottimale. Le query che una volta erano efficienti possono diventare inefficienti con l'evoluzione del carico di lavoro. Le query inefficienti possono consumare risorse eccessive e ridurre le prestazioni del database.

È importante compiere sforzi continui per ottimizzare le prestazioni dei componenti che mostrano prestazioni ridotte nel tempo. Identifica e risolvi in ​​modo proattivo i problemi di prestazioni nel carico di lavoro. Dando la priorità ai componenti noti che si deteriorano, puoi affrontare in modo proattivo potenziali problemi di prestazioni e garantire il corretto funzionamento del carico di lavoro. Prendere in considerazione l'implementazione di tecniche di ottimizzazione delle prestazioni o l'ottimizzazione dell'allocazione delle risorse.

Assegnare priorità ai flussi critici di utenti e sistemi

I flussi critici di utenti e sistemi rappresentano i processi o i flussi di lavoro più importanti e ad alta priorità nel carico di lavoro. Dando la priorità a questi flussi critici, ti assicuri che le parti più essenziali del carico di lavoro siano ottimizzate per le prestazioni. Sapere quali flussi sono critici aiuta a dare priorità agli sforzi di ottimizzazione. L'ottimizzazione dell'efficienza delle prestazioni delle aree più importanti della vostra applicazione garantisce il massimo ritorno sull'investimento. Dovresti monitorare i flussi critici e le parti più popolari dell'applicazione. Cerca modi per renderli più efficienti.

Automatizza l'ottimizzazione delle prestazioni

L’automazione può eliminare i processi manuali ripetitivi e dispendiosi in termini di tempo, consentendone l’esecuzione efficiente. L'automazione riduce le possibilità di errore umano e garantisce coerenza nell'esecuzione delle attività di ottimizzazione. Automatizzando queste attività, puoi anche consentire alle persone di concentrarsi su attività più complesse e attività che aggiungono valore. È possibile applicare l'automazione a varie attività, ad esempio test delle prestazioni, distribuzione e monitoraggio.

  • Test automatizzati delle prestazioni: utilizza strumenti automatizzati di test delle prestazioni come Selenium per simulare diversi carichi di lavoro e scenari. Power Apps Test Engine è un componente all'interno della Power Platform CLI che puoi utilizzare per testare le app Canvas autonome Power Apps.

  • Distribuzione automatizzata: implementa processi di distribuzione automatizzati per garantire distribuzioni coerenti e prive di errori. Utilizza gli strumenti CI/CD (integrazione continua/distribuzione continua) per automatizzare il processo di distribuzione. Questi strumenti possono aiutarti a identificare i colli di bottiglia delle prestazioni mentre li utilizzi per eseguire test sugli endpoint, controllare gli stati HTTP e persino convalidare la qualità e le variazioni dei dati.

  • Monitoraggio e avvisi: impostare sistemi automatizzati di monitoraggio e avviso per monitorare continuamente i parametri di prestazione e rilevare eventuali deviazioni o anomalie. Quando vengono rilevati problemi di prestazioni, è possibile attivare avvisi automatici per avvisare i team o gli individui appropriati.

  • Gestione degli incidenti: implementare un sistema automatizzato di gestione degli incidenti in grado di ricevere avvisi, creare ticket e assegnare ticket ai team appropriati per la risoluzione. Questi passaggi aiutano a garantire che i problemi di prestazioni vengano affrontati tempestivamente e assegnati alle risorse giuste.

  • Diagnostica automatizzata: sviluppa strumenti o script diagnostici automatizzati in grado di analizzare i dati sulle prestazioni e identificare le cause principali dei problemi di prestazioni. Questi strumenti possono aiutare a individuare aree o componenti specifici del sistema che causano problemi di prestazioni.

  • Azioni di riparazione automatizzate: definire e implementare azioni di riparazione automatizzate che possono essere attivate quando vengono rilevati problemi di prestazioni specifici. Queste azioni possono includere il riavvio dei servizi, la regolazione dell'allocazione delle risorse, la cancellazione delle cache o l'implementazione di altre tecniche di ottimizzazione delle prestazioni.

  • Sistemi di autoriparazione: integra funzionalità di autoriparazione nel tuo sistema automatizzando il processo di ripristino per problemi di prestazioni noti. Questa funzionalità può comportare la correzione o la regolazione automatica della configurazione del sistema per ripristinare prestazioni ottimali.

Affrontare il debito tecnico

Il debito tecnico si riferisce alle inefficienze accumulate, alle scelte di progettazione non ottimali o alle scorciatoie adottate durante il processo di sviluppo che possono influire sulle prestazioni. Debito tecnico, codice poco chiaro e implementazioni eccessivamente complesse possono rendere più difficile il raggiungimento dell'efficienza delle prestazioni. Affrontare il debito tecnico implica identificare e risolvere questi problemi per migliorare le prestazioni complessive e la manutenibilità del carico di lavoro. Questo lavoro potrebbe includere il refactoring del codice, l'ottimizzazione delle query del database, il miglioramento della progettazione dell'architettura o l'implementazione delle migliori pratiche. Forse, ad esempio, hai introdotto un debito tecnico per rispettare una scadenza: dovrai affrontarlo mentre ottimizzi l'efficienza delle prestazioni nel tempo.

Ottimizza i database

L'ottimizzazione continua dei database implica l'identificazione e l'implementazione di ottimizzazioni per garantire che i database possano gestire carichi, fornire tempi di risposta rapidi e ridurre al minimo l'utilizzo delle risorse. Ottimizzando regolarmente i database, puoi migliorare le prestazioni delle applicazioni, ridurre i tempi di inattività e migliorare l'esperienza utente complessiva.

  • Ottimizza le query del database: le query del database scritte in modo inadeguato possono peggiorare le prestazioni del database. Filtri inefficienti possono causare elaborazioni di dati non necessarie. Sottoquery complesse, query nidificate e funzioni eccessive possono ridurre la velocità di esecuzione. Riscrivere le query che recuperano troppi dati. Identifica le query del database più comuni o critiche e ottimizzale. L'ottimizzazione aiuta a garantire query più veloci.
  • Esamina la progettazione del modello: esamina il modello dati per assicurarti di ottimizzarlo per i requisiti specifici dell'applicazione.

Facilitazione di Power Platform

Automatizzazione dell'ottimizzazione delle prestazioni: il controllo della soluzione fornisce consigli sulle prestazioni basati su un controllo di analisi statica delle soluzioni rispetto a una serie di regole di best practice per identificare rapidamente modelli problematici. Assicurati di rivedere e affrontare queste raccomandazioni regolarmente.

Monitoraggio dell'ottimizzazione delle prestazioni: integra i tuoi Power Platform carichi di lavoro con Application Insights per ottenere approfondimenti e consigli per ottimizzare le prestazioni.

Lista di controllo dell'efficienza delle prestazioni

Fare riferimento alla serie completa di raccomandazioni.