Consigli per l'ottimizzazione continua delle prestazioni
Si applica a questo elemento consigliato dell'elenco di controllo di Efficienza prestazionale di Power Platform Well-Architected:
PE:10 | Ottimizza continuamente le prestazioni. Concentrati sui componenti che mostrano un deterioramento delle prestazioni nel tempo, come i database e le funzionalità di rete. |
---|
In questa guida vengono descritti i consigli per l'ottimizzazione continua delle prestazioni. L'ottimizzazione continua delle prestazioni è il processo di monitoraggio, analisi e miglioramento costanti dell'efficienza delle prestazioni. L'ottimizzazione delle prestazioni deve essere un'attività costante 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 i cambiamenti nei modelli di utilizzo, l'aumento dei dati archiviati, la domanda, le funzionalità e il debito tecnico.
Definizioni
Termine | Definizione |
---|---|
Indebitamento tecnico | Le inefficienze accumulate, le scelte di progettazione non ottimali o le scorciatoie prese intenzionalmente durante il processo di sviluppo per consegnare il codice più velocemente. |
Durata (TTL) | 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 eccessive è problematico quanto uno con prestazioni insufficienti. I compromessi sono diversi. Le prestazioni eccessive influiscono sull'ottimizzazione dei costi. Le scarse prestazioni si ripercuotono sugli utenti. La chiave per l'efficienza delle prestazioni è il monitoraggio, la regolazione e il test nel tempo. È necessario esaminare regolarmente le metriche delle prestazioni e apportare le modifiche necessarie per garantire che il carico di lavoro sia efficiente. Per raggiungere gli obiettivi di prestazioni è necessario testare tutte le modifiche prima e dopo l'implementazione.
Sviluppare una cultura della performance
Una cultura della performance è 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 si occupano del carico di lavoro hanno bisogno delle competenze e della mentalità giuste per ottimizzare le prestazioni e soddisfare gli aumenti e le diminuzioni della domanda. È inoltre necessario allocare il loro tempo per supportare il monitoraggio e la correzione dei problemi di prestazioni non appena si presentano. Queste squadre hanno bisogno di aspettative chiare. Ad esempio, gli obiettivi di prestazione, le linee di base e le soglie di deviazione (quanto è accettabile la distanza dalla linea di base) devono essere altamente visibili e socializzati.
Compromesso: l'ottimizzazione continua delle prestazioni richiede 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 umane limitate, l'ottimizzazione continua delle prestazioni potrebbe sottrarre tempo ad altre attività operative.
Valutazione di 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 metodi ottimizzati di query sui dati, controlli moderni o meccanismi di memorizzazione nella cache. Le nuove funzionalità della piattaforma possono aprire la strada per migliorare l'efficienza delle prestazioni. Rimani aggiornato sulle funzionalità della piattaforma per assicurarti di utilizzare le innovazioni e le best practice più recenti. Monitora costantemente il feedback e le metriche delle prestazioni di queste nuove aggiunte per perfezionare il tuo approccio.
Assegna priorità alle attività 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 comporta l'identificazione di potenziali colli di bottiglia, il monitoraggio delle metriche delle prestazioni e l'implementazione di ottimizzazioni per garantire che il carico di lavoro funzioni in modo efficiente e soddisfi gli obiettivi di prestazioni desiderati. Sulla base dell'analisi dei componenti deteriorati, dei flussi critici e del debito tecnico, è possibile implementare ottimizzazioni delle prestazioni specifiche per ciascuna area. I miglioramenti possono comportare modifiche al codice, adeguamenti dell'infrastruttura o aggiornamenti della configurazione.
Dare la priorità ai componenti deteriorati
Man mano che il carico di lavoro si evolve e i modelli di utilizzo cambiano, queste modifiche spesso influiscono sulle prestazioni dei singoli componenti nel carico di lavoro. L'aumento dei dati nei database può comportare tempi di esecuzione delle query più lunghi e un recupero dei dati più lento. Le modifiche nei modelli di utilizzo potrebbero comportare una progettazione non ottimale delle query. Le query che una volta erano efficienti possono diventare inefficienti con l'evolversi del carico di lavoro. Le query inefficienti possono utilizzare risorse eccessive e peggiorare le prestazioni del database.
È importante compiere sforzi continui per ottimizzare le prestazioni dei componenti che mostrano una diminuzione delle prestazioni 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, è possibile affrontare in modo proattivo i 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.
Assegna priorità ai flussi critici dell'utente e del sistema
I flussi utente e di sistema critici sono i processi o i flussi di lavoro più importanti e prioritari nel carico di lavoro. Assegnando 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 stabilire le priorità degli sforzi di ottimizzazione. L'ottimizzazione dell'efficienza delle prestazioni delle aree più importanti dell'applicazione fornisce il massimo ritorno sull'investimento. È consigliabile 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, consentendo di eseguirli in modo efficiente. L'automazione riduce le possibilità di errore umano e garantisce coerenza nell'esecuzione delle attività di ottimizzazione. Automatizzando queste attività, puoi anche liberare le persone per concentrarsi su attività più complesse e attività che aggiungono valore. È possibile applicare l'automazione a varie attività, ad esempio il test delle prestazioni, la distribuzione e il monitoraggio.
Test delle prestazioni automatizzati: usa strumenti di test delle prestazioni automatizzati come Selenium per simulare carichi di lavoro e scenari diversi. Test Engine di Power Apps è un componente di Power Platform CLI che puoi utilizzare per testare app canvas autonome in Power Apps.
Distribuzione automatizzata: implementa processi di distribuzione automatizzati per garantire distribuzioni coerenti e prive di errori. Usa gli strumenti CI/CD (integrazione continua/recapito continuo) per automatizzare il processo di distribuzione. Questi strumenti consentono di identificare i colli di bottiglia delle prestazioni durante l'utilizzo per eseguire test sugli endpoint, controllare gli stati HTTP e persino convalidare la qualità e le variazioni dei dati.
Monitoraggio e avvisi: configura sistemi di monitoraggio e avvisi automatizzati per monitorare continuamente le metriche delle prestazioni e rilevare eventuali deviazioni o anomalie. Quando vengono rilevati problemi di prestazioni, è possibile attivare avvisi automatici per avvisare i team o le persone appropriate.
Gestione degli incidenti: implementa 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 prontamente risolti e assegnati alle risorse giuste.
Diagnostica automatizzata: sviluppa strumenti o script di diagnostica automatizzati in grado di analizzare i dati sulle prestazioni e identificare le cause principali dei problemi di prestazioni. Questi strumenti consentono di individuare aree o componenti specifici del sistema che causano problemi di prestazioni.
Azioni di correzione automatizzate: definisci e implementa azioni di correzione automatizzate che possono essere attivate quando vengono rilevati problemi di prestazioni specifici. Queste azioni possono includere il riavvio dei servizi, la modifica dell'allocazione delle risorse, la cancellazione delle cache o l'implementazione di altre tecniche di ottimizzazione delle prestazioni.
Sistemi di riparazione automatica: crea funzionalità di riparazione automatica nel sistema automatizzando il processo di ripristino per i 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 prese durante il processo di sviluppo che possono influire sulle prestazioni. Debito tecnico, codice poco chiaro e implementazioni eccessivamente complesse possono rendere più difficile ottenere l'efficienza delle prestazioni. La gestione del debito tecnico implica l'identificazione e la risoluzione di questi problemi per migliorare le prestazioni complessive e la gestibilità del carico di lavoro. Questo lavoro può includere il refactoring del codice, l'ottimizzazione delle query del database, il miglioramento della progettazione dell'architettura o l'implementazione di procedure consigliate. Forse, ad esempio, hai introdotto il debito tecnico per rispettare una scadenza: dovrai affrontare quel debito tecnico mentre ottimizzi l'efficienza delle prestazioni nel tempo.
Ottimizzare i database
L'ottimizzazione continua dei database comporta l'identificazione e l'implementazione di ottimizzazioni per garantire che i database siano in grado di gestire i carichi, fornire tempi di risposta rapidi e ridurre al minimo l'utilizzo delle risorse. Ottimizzando regolarmente i database, è possibile migliorare le prestazioni delle applicazioni, ridurre i tempi di inattività e migliorare l'esperienza utente complessiva.
- Ottimizzare le query del database: query di database scritte male possono peggiorare le prestazioni del database. Filtri inefficienti possono causare un'elaborazione dei dati non necessaria. Sottoquery complesse, query annidate e un numero eccessivo di funzioni possono ridurre la velocità di esecuzione. Riscrivere le query che recuperano troppi dati. Identifica le query di database più comuni o critiche e ottimizzale. L'ottimizzazione aiuta a garantire query più veloci.
- Esaminare la progettazione del modello: esamina il modello di dati per assicurarsi di ottimizzarlo in base ai requisiti specifici dell'applicazione.
Facilitazione di Power Platform
Ottimizzazione dell'automazione delle prestazioni: Verifica soluzione fornisce raccomandazioni sulle prestazioni basate su un controllo di analisi statica sulle soluzioni contro una serie di regole di procedure consigliate per identificare rapidamente i modelli problematici. Assicurati di rivedere e affrontare regolarmente queste raccomandazioni.
Monitoraggio dell'ottimizzazione delle prestazioni: integra i carichi di lavoro Power Platform con Application Insights per ottenere informazioni dettagliate e consigli per l'ottimizzazione delle prestazioni.
Analizzare le prestazioni e l'uso dell'agente in Copilot Studio: Copilot Analytics fornisce una panoramica completa delle prestazioni dell'agente. Questa pagina usa la tecnologia dell'intelligenza artificiale (IA) per identificare gli argomenti che hanno l'impatto maggiore sui tassi di escalation, di abbandono e di risoluzione. Il monitoraggio dell'engagement dei tassi di engagement delle conversazionie dei risultati è essenziale per misurare le metriche delle prestazioni degli agenti e identificare le aree di miglioramento.
Elenco di controllo dell'efficienza prestazionale
Fai riferimento alla serie completa di elementi consigliati.