Condividi tramite


Raccomandazioni per rispondere ai problemi di prestazioni live

Si applica a questa raccomandazione per l'efficienza delle prestazioni di Azure Well-Architected Framework:

PE:11 Rispondere ai problemi di prestazioni live. Pianificare come risolvere i problemi di prestazioni incorporando linee chiare di comunicazione e responsabilità. Quando si verifica una situazione problematica, usare ciò che si apprende per identificare le misure preventive e incorporarle nel carico di lavoro. Implementare metodi per tornare alle normali operazioni più velocemente quando si verificano situazioni simili.

Questa guida descrive le procedure consigliate per rispondere ai problemi di prestazioni live. I problemi di prestazioni live fanno riferimento a sfide in tempo reale e colli di bottiglia che possono impedire il funzionamento ottimale di un carico di lavoro. Risolvere questi problemi tempestivamente non solo facilita il rilevamento immediato e la rettifica delle prestazioni, ma garantisce anche che il carico di lavoro soddisfi in modo coerente i relativi benchmark di prestazioni. La mancata risoluzione dei problemi può causare complicazioni, tra cui rallentamenti, arresti anomali e mancata risposta del sistema e degrado dell'esperienza utente. Possono anche impedire agli utenti di completare le attività in modo efficiente e, a sua volta, tarnish la reputazione dell'organizzazione.

Definizioni

Termine Definizione
Correlazione dei dati Allineamento di log, metriche ed eventi da varie parti del carico di lavoro per individuare le cause sottostanti.
Analisi della causa radice Processo di identificazione dei fattori sottostanti responsabili di un problema.
Riparazione automatica La possibilità di riparare automaticamente i problemi senza intervento umano.
Auto-prevenzione Implementazioni all'interno di un carico di lavoro per evitare potenziali problemi e errori.

Strategie di progettazione chiave

Quando si verifica un problema di prestazioni live, è necessario essere preparati con i dati corretti e un piano per rispondere al problema. Questo piano deve includere linee chiare di comunicazione e responsabilità. L'obiettivo principale consiste nell'implementare soluzioni che facilitano una rapida restituzione alle operazioni regolari e forniscono informazioni dettagliate sull'evento imprevisto. L'integrazione di misure preventive nel flusso di lavoro è una strategia fondamentale. L'obiettivo è impedire che lo stesso problema si verifichi di nuovo o ridurne gli effetti sulle prestazioni se non è evitabile.

Preparare i problemi

La risposta ideale ai problemi di prestazioni del sito live è precisa e veloce. La precisione e la velocità nella correzione delle prestazioni richiedono la preparazione. Per rispondere in modo efficace ai problemi di prestazioni live, è fondamentale monitorare le metriche delle prestazioni chiave, identificare la causa radice dei problemi e implementare soluzioni o ottimizzazioni appropriate. Per eseguire questi passaggi, potrebbe essere necessario analizzare i log del carico di lavoro, eseguire test delle prestazioni, ottimizzare codice o configurazioni e ridimensionare le risorse. Gli esempi seguenti descrivono alcune aree critiche di preparazione:

  • Avere diagrammi di architettura accurati. I diagrammi dell'architettura devono includere tutti i componenti e mostrare come interagiscono. La rappresentazione visiva può aiutare a identificare colli di bottiglia e singoli punti di errore che possono causare riduzione delle prestazioni o indisponibilità. Idealmente, è possibile rilevare e rimuovere questi problemi prima di causare problemi, ma avere un diagramma aggiornato può aiutare a individuare i problemi nei momenti di stress elevato.

  • Controllare l'accesso ai dati. I dati e i log dei processi di monitoraggio sono fondamentali per rispondere ai problemi di prestazioni in tempo reale e condurre analisi della causa radice. Ma è importante mantenere l'integrità e la riservatezza dei dati. La risposta ai problemi di prestazioni del sito live richiede spesso l'accesso ai dati sottostanti che potrebbero non essere normalmente accessibili. È necessario assicurarsi che il personale abbia accesso ai dati necessari quando si verificano problemi. Tuttavia, è consigliabile concedere solo l'accesso con privilegi minimi e limitati al tempo e limitare l'accesso al personale autorizzato.

  • Impostare avvisi automatici. Gli avvisi consentono di identificare e risolvere i problemi non appena si verificano. Gli avvisi devono generare notifiche quando le prestazioni del carico di lavoro deviano dalle baseline delle prestazioni. Nel tempo, è consigliabile modificare le configurazioni degli avvisi per evitare di generare troppe notifiche o troppo poche notifiche. Le soluzioni di monitoraggio usate devono raccogliere dati sufficienti per generare avvisi. Questi avvisi devono essere allineati alle destinazioni di prestazioni e alle baseline stabilite. È consigliabile evitare di generare avvisi sui problemi rilevanti per gli obiettivi. Esempi di avvisi includono riduzione dell'utilizzo della CPU, memoria, tempi di risposta e prestazioni del database.

Creare un piano di valutazione

La creazione di un piano di valutazione prevede la ottimizzazione di un approccio strutturato per identificare, eseguire l'escalation, l'escalation, l'analisi, la priorità e comunicare problemi di prestazioni del sito live. Un piano di valutazione è una strategia per rispondere ai problemi di prestazioni in tempo reale. Garantisce che le interruzioni delle prestazioni vengano affrontate in modo tempestivo e efficace, con ruoli e procedure chiare. La maggior parte dei problemi di prestazioni non merita protocolli di ripristino di emergenza, ma può influire sulla funzionalità del carico di lavoro sufficiente per richiedere la pianificazione del triage. Un piano di valutazione ben documentato garantisce che tutti i membri del team siano allineati e possano agire rapidamente, riducendo al minimo l'impatto sugli utenti e sui carichi di lavoro. Un piano di valutazione deve includere i componenti seguenti:

  • Identificazione e monitoraggio: implementare un sistema per identificare e monitorare i problemi di prestazioni in tempo reale. È necessario avere un elenco delle informazioni di contatto delle persone che sono in grado di prendere decisioni o di escalation di problemi a livelli più elevati. Il piano deve anche identificare ruoli e responsabilità. Deve documentare quali account ottengono l'accesso alle informazioni protette e per quanto tempo.

  • Processo di escalation: definire un processo di escalation chiaro per garantire che i problemi di prestazioni vengano inoltrati ai team o alle persone appropriate in modo tempestivo. La definizione del processo deve includere le informazioni di contatto e le linee guida per l'escalation dei problemi.

  • Analisi della causa radice: sviluppare un processo per eseguire un'analisi della causa radice per identificare la causa sottostante di ogni problema di prestazioni. Il processo deve includere l'analisi dei log e delle metriche delle prestazioni e l'esecuzione di test di diagnostica per individuare l'origine di ogni problema.

  • Priorità: stabilire un framework di priorità per determinare la gravità dei problemi di prestazioni e assegnarle priorità in base al loro effetto sul carico di lavoro e sugli utenti.

  • Comunicazione: creare un piano di comunicazione per mantenere gli stakeholder informati sullo stato dei problemi di prestazioni e sull'avanzamento della risoluzione. Prendere in considerazione aggiornamenti regolari, report di stato e canali di comunicazione chiari.

  • Documentazione: documentare il piano di valutazione, inclusi tutti i passaggi, i processi e le procedure consigliate. Questa documentazione deve essere facilmente accessibile ai membri del team coinvolti nella risposta ai problemi di prestazioni.

Sviluppare metodi per identificare e risolvere i problemi

La risoluzione dei problemi di prestazioni live comporta l'identificazione e la risoluzione di eventuali fattori che possono causare riduzione delle prestazioni o inefficienze in un carico di lavoro in tempo reale. I dati raccolti durante il monitoraggio sono preziosi quando si analizzano e risolvono gli eventi imprevisti correlati alle prestazioni. Questi dati forniscono un record cronologico delle metriche delle prestazioni. Quando sono disponibili i dati di monitoraggio, è possibile analizzare le cause radice e identificare i fattori di contributo. È consigliabile usare tutti i dati di monitoraggio pertinenti per comprendere e risolvere ogni problema di prestazioni.

Usare l'analisi della causa radice

L'analisi della causa radice richiede test di ipotesi. Dopo aver esaminato i dati di monitoraggio, è consigliabile elencare potenziali cause del problema di prestazioni e testarle. Per eseguire un'analisi della causa radice su un problema di prestazioni live, è possibile seguire questa procedura:

  1. Raccogliere le informazioni. Raccogliere la maggior parte delle informazioni possibili sul problema di prestazioni. Gli esempi includono messaggi di errore, log, metriche delle prestazioni e altri dati pertinenti.

  2. Definire il problema. Definire chiaramente il problema identificando i sintomi e l'effetto che il problema ha sul carico di lavoro o sugli utenti.

  3. Analizzare le potenziali cause. Restringere l'ambito dell'analisi identificando il componente o l'area specifica del carico di lavoro in cui si verifica il problema di prestazioni. Identificare le potenziali cause del problema di prestazioni in base alle informazioni raccolte. Questo processo può comportare l'analisi del codice, delle impostazioni di configurazione, dell'infrastruttura o delle dipendenze esterne.

  4. Correlare i dati. Approfondire i dati raccolti per identificare modelli, anomalie o correlazioni che potrebbero contribuire al problema di prestazioni. La correlazione dei dati è fondamentale per identificare i problemi di prestazioni e le cause. Può comportare la revisione dei log, l'analisi delle metriche delle prestazioni e l'esecuzione di test.

  5. Testare le ipotesi. Formulare ipotesi basate sulle possibili cause identificate dall'utente. Eseguire test per convalidare o confutare le ipotesi. È consigliabile usare un ambiente di test per verificare se è possibile replicare l'errore.

  6. Implementare soluzioni. Dopo aver identificato una causa radice, sviluppare e implementare soluzioni per risolvere il problema di prestazioni.

  7. Monitorare e convalidare. Dopo aver implementato le soluzioni, monitorare continuamente il carico di lavoro per assicurarsi che il problema di prestazioni venga risolto. Convalidare l'efficacia delle soluzioni monitorando le metriche delle prestazioni e il feedback degli utenti.

Compromesso: i passaggi di un'analisi della causa radice, ad esempio l'identificazione di possibili cause, il test delle ipotesi e la documentazione dell'analisi, possono richiedere molto tempo. Per correlare i problemi di prestazioni, è anche necessario raccogliere e archiviare i dati. Il tempo necessario e l'infrastruttura possono aggiungere un lavoro significativo ai team operativi e ai costi per il carico di lavoro.

Rischio: se si esegue un'analisi della causa radice senza protezioni di sicurezza appropriate, si rischia di esporre informazioni sensibili quando si fornisce l'accesso a log e dati.

Contattare il supporto del fornitore

Il supporto dei fornitori può essere un passaggio essenziale quando si gestiscono problemi di prestazioni in corso. I fornitori hanno competenze, strumenti, risorse ed esperienza per risolvere i problemi relativi ai propri prodotti. Il contratto di supporto con il fornitore determina il livello di supporto fornito da un fornitore.

Spesso è consigliabile lavorare in parallelo con i fornitori. È consigliabile creare un piano per consentire ad alcuni membri del team di collaborare con il supporto del fornitore, mentre altri continuano a valutare e risolvere i problemi di prestazioni. I team di supporto dei fornitori possono anche fornire suggerimenti su come evitare e automatizzare le risposte a eventi simili.

È necessario disporre delle informazioni di contatto disponibili per il personale. I fornitori potrebbero anche dover accedere ai dati per impegnarsi in modo efficace nella risoluzione dei problemi. È necessario disporre di un piano per l'autenticazione e l'autorizzazione di account esterni o guest per accedere ai dati di monitoraggio.

Informazioni sui risultati

Dopo aver risolto un problema di prestazioni del sito live, è necessario esaminare cosa è successo. L'obiettivo è imparare dai problemi di prestazioni, non solo identificare i problemi. Il modo migliore per apprendere è la documentazione. Documentare ogni problema e spiegare come risolverlo. Se un fornitore ha aiutato, collaborare con il fornitore per migliorare la documentazione, formare il team e modificare il carico di lavoro di conseguenza.

La documentazione deve indicare come evitare che ogni problema si ripeta. Un modo per evitare problemi ricorrenti consiste nell'introdurre l'automazione per rispondere ai problemi comuni. L'automazione deve aggiungere qualità di auto-riparazione e auto-prevenzione a un carico di lavoro. Oltre all'automazione, è possibile creare avvisi perfezionati che consentono di rispondere in anticipo agli indicatori dei problemi di prestazioni.

Facilitazione di Azure

Sviluppo di metodi per identificare e risolvere i problemi: Azure offre diversi strumenti che consentono di rispondere ai problemi di prestazioni in tempo reale:

  • Monitoraggio di Azure è una soluzione di monitoraggio completa che fornisce informazioni dettagliate sulle prestazioni e sull'integrità delle applicazioni e dell'infrastruttura. Monitoraggio offre funzionalità come metriche, log, avvisi e dashboard che consentono di monitorare e diagnosticare i problemi di prestazioni.

  • Application Insights è un servizio di gestione delle prestazioni delle applicazioni (APM) che consente agli sviluppatori e ai professionisti DevOps di monitorare le applicazioni in tempo reale. Rileva automaticamente le anomalie delle prestazioni, raccoglie log ed eventi a livello di applicazione e fornisce strumenti di analisi per diagnosticare i problemi.

  • Log Analytics è un servizio che raccoglie e analizza i dati di log da varie origini, tra cui applicazioni, macchine virtuali e risorse di Azure. Quando si usa Log Analytics, è possibile eseguire query e analizzare i dati di log per ottenere informazioni dettagliate sulle prestazioni e sul comportamento delle applicazioni.

Elenco di controllo dell'efficienza delle prestazioni

Fare riferimento al set completo di raccomandazioni.