Intelligent Insights con intelligenza artificiale per eseguire il monitoraggio e risolvere i problemi delle prestazioni del database (anteprima)

Si applica a:database SQL di AzureIstanza gestita di SQL di Azure

Intelligent Insights nel database SQL di Azure e nell'Istanza gestita di SQL di Azure consente di sapere cosa accade con le prestazioni dei database.

Intelligent Insights usa le funzionalità di intelligenza integrata per monitorare in modo continuativo l'utilizzo del database grazie all'intelligenza artificiale e rilevare gli eventi che possono causare interruzioni del funzionamento e una riduzione delle prestazioni. Una volta rilevati, viene eseguita un'analisi dettagliata che genera un log delle risorse di Intelligent Insights denominato SQLInsights (non correlato a SQL Insights del Monitoraggio di Azure (anteprima)) con una valutazione intelligente dei problemi. Questa valutazione è costituita da un'analisi della causa radice del problema di prestazioni del database e, dove possibile, da raccomandazioni per il miglioramento delle prestazioni.

Quali sono i vantaggi di Intelligent Insights?

Intelligent Insights è una funzionalità unica dell'intelligence integrata di Azure che offre i vantaggi seguenti:

  • Monitoraggio proattivo
  • Analisi delle prestazioni personalizzate
  • Rilevamento tempestivo della riduzione delle prestazioni del database
  • Analisi della causa radice dei problemi rilevati
  • Raccomandazioni per il miglioramento delle prestazioni
  • Capacità di aumentare il numero di istanze in centinaia di migliaia di database
  • Impatto positivo sulle risorse DevOps e sul costo totale di proprietà

Funzionamento di Intelligent Insights

Intelligent Insights analizza le prestazioni del database confrontando il carico di lavoro del database dall'ultima ora con la baseline del carico di lavoro degli ultimi sette giorni. Il carico di lavoro del database è costituito dalle query identificate come maggiormente significative per le prestazioni del database, ad esempio quelle più ripetute e di dimensioni maggiori. Ogni database è unico per struttura, dati, uso e applicazione, motivo per cui ogni baseline del carico di lavoro generata è specifica e unica per quel carico di lavoro. Intelligent Insights, indipendentemente dalla baseline del carico di lavoro, consente inoltre di monitorare le soglie operative assolute e di rilevare problemi sulla base di tempi di attesa eccessivi ed eccezioni critiche e problemi con parametrizzazioni delle query che potrebbero influire sulle prestazioni.

Dopo aver rilevato un problema di riduzione delle prestazioni in base a più metriche osservate con l'ausilio dell'intelligenza artificiale, viene eseguita l'analisi. Viene generato un log di diagnostica con un'analisi intelligente della situazione del database. Con Intelligent Insights è semplice tenere traccia del problema di prestazioni del database dalla sua comparsa fino alla risoluzione. Ogni problema individuato viene monitorato per tutto il suo ciclo di vita, dal rilevamento del problema iniziale alla verifica del miglioramento delle prestazioni, fino al suo completamento.

Database performance analysis workflow

Le metriche usate per misurare e rilevare i problemi di prestazioni del database si basano su durata delle query, richieste di timeout, tempi di attesa eccessivi e richieste con errori. Per maggiori informazioni sulle metriche, vedere Metriche di rilevamento.

Le riduzioni del livello delle prestazioni identificate del database vengono registrate nel log SQLInsights di Intelligent Insights con voci intelligenti costituite dalle proprietà seguenti:

Proprietà Dettagli
Informazioni sul database Metadati relativi a un database per cui sono state rilevate informazioni, ad esempio URI di risorsa.
Intervallo di tempo osservato Ora di inizio e di fine per il periodo delle informazioni rilevate.
Metriche interessate Metriche che hanno causato la generazione di un'informazione:
  • Aumento della durata di una query [secondi].
  • Attesa eccessiva [secondi].
  • Richieste che hanno raggiunto il timeout [percentuale].
  • Richieste che hanno generato errori [percentuale].
Valore di impatto Valore di una metrica misurata.
Query interessate e codici di errore Codice hash o codice di errore di una query. Possono essere usati per creare facilmente correlazioni alle query interessate. Vengono fornite metriche costituite da aumento della durata di una query, tempo di attesa, numero di timeout o codici di errore.
Rilevamenti Rilevamento identificato nel database nel momento in cui si è verificato un evento. Sono disponibili 15 modelli di rilevamento. Per altre informazioni, vedere Risolvere i problemi di prestazioni del database SQL di Azure con Intelligent Insights.
Analisi della causa radice Analisi della causa radice del problema identificato in un formato umanamente leggibile. Alcune analisi potrebbero contenere raccomandazioni per il miglioramento delle prestazioni, se possibile.

Intelligent Insights si distingue per l'individuazione e la risoluzione dei problemi di prestazioni del database. Per usare Intelligent Insights per risolvere i problemi di prestazioni, vedere Risolvere i problemi di prestazioni con Intelligent Insights.

Opzioni di Intelligent Insights

Le opzioni disponibili di Intelligent Insights sono:

Opzione di Intelligent Insights Supporto del database SQL di Azure Supporto per Istanza gestita di database SQL di Azure
Configurare Intelligent Insights: configurare l'analisi di Intelligent Insights per i database.
Trasmettere informazioni dettagliate ad Analisi SQL di Azure: trasmettere informazioni dettagliate ad Analisi SQL di Azure.
Trasmettere informazioni dettagliate agli Hub eventi di Azure: trasmettere informazioni dettagliate agli Hub eventi per altre integrazioni personalizzate.
Trasmettere informazioni dettagliate ad Archiviazione di Azure: trasmettere informazioni dettagliate su Archiviazione di Azure per un'ulteriore analisi e un'archiviazione a lungo termine.

Nota

Intelligent Insights è una funzionalità di anteprima non disponibile nelle seguenti aree: Europa occidentale, Europa settentrionale, Stati Uniti occidentali 1 e Stati Uniti orientali 1.

Configurare l'esportazione del log di Intelligent Insights

L'output di Intelligent Insights può essere trasmesso a una delle diverse destinazioni per l'analisi:

  • L'output trasmesso a un'area di lavoro Log Analytics può essere usato con Analisi SQL di Azure per visualizzare informazioni dettagliate tramite l'interfaccia utente del portale di Azure. Questa è la soluzione integrata di Azure e il modo più comune per visualizzare informazioni dettagliate.
  • L'output trasmesso con Hub eventi di Azure può essere usato per lo sviluppo del monitoraggio e scenari di avviso personalizzati
  • L'output trasmesso con Archiviazione di Azure può essere usato per lo sviluppo di applicazioni personalizzate per la creazione di report personalizzati, l'archiviazione a lungo termine dei dati e così via.

L'integrazione di Analisi SQL di Azure, Hub eventi di Azure, Archiviazione di Azure o prodotti di terze parti per l'uso viene eseguita innanzitutto abilitando la registrazione di Intelligent Insights ("log SQLInsights") nella pagina Impostazioni di diagnostica di un database, e successivamente configurando i dati di log di Intelligent Insights da trasmettere a uno di questi prodotti.

Per maggiori informazioni su come abilitare la registrazione di Intelligent Insights e configurare i dati di log di metriche e risorse da trasmettere a un prodotto che li usi, vedere Metriche e log di diagnostica.

Configurazione con Analisi SQL di Azure

La soluzione Analisi SQL di Azure fornisce l'interfaccia utente grafica, la creazione di report e le funzionalità di avviso sulle prestazioni del database, usando i dati di log delle risorse di Intelligent Insights.

Aggiungere Analisi SQL di Azure alla dashboard del portale di Azure dal marketplace e creare un'area di lavoro. Vedere Configurare Analisi SQL di Azure

Per usare Intelligent Insights con Analisi SQL di Azure, configurare i dati di log di Intelligent Insights da trasmettere all'area di lavoro di Analisi SQL di Azure creata nel precedente passaggio. Vedere Metriche e log di diagnostica.

Di seguito è riportato un esempio del report di Intelligent Insights attraverso Analisi SQL di Azure:

Intelligent Insights report

Configurare con Hub eventi

Per usare Intelligent Insights con Hub eventi e configurare i dati di log di Intelligent Insights da trasmettere agli Hub eventi. Vedere Metriche e log di diagnostica e Trasmettere i log di diagnostica di Azure agli Hub eventi.

Per usare Hub di eventi per configurare gli avvisi e il monitoraggio personalizzati, vedere Cosa fare con le metriche e i log di diagnostica in Hub eventi.

Configurare con Archiviazione di Azure

Per usare Intelligent Insights con Archiviazione e configurare dati di log di Intelligent Insights da trasmettere ad Archiviazione, vedere Metriche e log di diagnostica e Trasmettere ad Archiviazione di Azure.

Integrazioni personalizzate del log di Intelligent Insights

Per usare Intelligent Insights con strumenti di terze parti o per la creazione di avvisi e monitoraggio personalizzati, vedere Usare il log di diagnostica delle prestazioni di database di Intelligent Insights.

Metriche di rilevamento

Le metriche usate per i modelli di rilevamento per la generazione di analisi intelligenti si basano sul monitoraggio degli elementi seguenti:

  • Durata delle query
  • Richieste di timeout
  • Tempo di attesa eccessivo
  • Richieste che hanno generato errori

La durata delle query e le richieste di timeout vengono usate come modelli principali per il rilevamento dei problemi di prestazioni del carico di lavoro del database, dal momento che misurano direttamente quello che accade con il carico di lavoro. Per rilevare tutti i casi possibili di riduzione delle prestazioni del carico di lavoro, vengono usati i tempi di attesa eccessivi e le richieste che hanno generato errori come ulteriori modelli per indicare problemi riguardanti le prestazioni del carico di lavoro.

Il sistema prende automaticamente in considerazione le modifiche del carico di lavoro e le modifiche del numero di richieste di query effettuate al database per determinare in modo dinamico le soglie normali e straordinarie per le prestazioni del database.

Tutte le metriche vengono prese in considerazione complessivamente in diverse relazioni tramite un modello di dati derivato scientificamente che categorizza ogni problema di prestazioni rilevato. Le informazioni fornite con un'analisi intelligente includono:

  • Dettagli dei problemi di prestazioni rilevati.
  • Analisi della causa radice dei problemi rilevati.
  • Consigli su come migliorare le prestazioni del database monitorato, ove possibile.

Durata delle query

Il modello di riduzione delle prestazioni basato sulla durata delle query analizza le singole query e rileva l'aumento del tempo necessario per compilare ed eseguire una query rispetto alla baseline delle prestazioni.

Se le funzionalità di intelligenza integrata rilevano un aumento significativo nel tempo di compilazione o di esecuzione di query con ripercussioni sulle prestazioni del carico di lavoro, queste query vengono contrassegnate con l'indicazione di un problema di riduzione delle prestazioni della durata delle query.

Il log di diagnostica di Intelligent Insights restituisce il codice hash della query per cui è stata rilevata una riduzione delle prestazioni. L'hash della query indica se la riduzione delle prestazioni è correlata a un aumento del tempo di compilazione o di esecuzione della query e l'aumento della durata della query.

Richieste di timeout

Il modello di riduzione delle prestazioni basato sulle richieste di timeout analizza le singole query e rileva l'aumento dei timeout a livello di esecuzione della query e i timeout delle richieste complessivi a livello di database rispetto al periodo della baseline delle prestazioni.

Alcune delle query potrebbero raggiungere il timeout anche prima di raggiungere la fase di esecuzione. Tramite il confronto tra i processi di lavoro interrotti e le richieste effettuate, l'intelligenza integrata misura e analizza tutte le query che hanno raggiunto il database, indipendentemente dal fatto che abbiano raggiunto o meno la fase di esecuzione.

Dopo che il numero di timeout per le query eseguite o il numero di processi di lavoro interrotti è aumentato fino a superare la soglia gestita dal sistema, un log di diagnostica viene popolato con analisi intelligenti.

Le informazioni generate contengono il numero di richieste che hanno raggiunto il timeout e il numero di query che hanno raggiunto il timeout. Viene fornita l'indicazione se la riduzione delle prestazioni è correlata all'aumento del timeout in fase di esecuzione o a livello complessivo di database. Quando l'aumento dei timeout viene considerato significativo per le prestazioni del database, queste query sono contrassegnate con l'indicazione di un problema di riduzione delle prestazioni basato sul timeout.

Tempi di attesa eccessivi

Il modello basato sui tempi di attesa eccessivi monitora le singole query di database e rileva le statistiche di attesa delle query insolitamente elevate che superano le soglie assolute gestite dal sistema. Le metriche seguenti per i tempi di attesa eccessivi delle query vengono osservate usando le Statistiche di attesa di Query Store (sys.query_store_wait_stats):

  • Raggiungimento dei limiti delle risorse
  • Raggiungimento dei limiti delle risorse del pool elastico
  • Numero eccessivo di thread di sessioni o di processi di lavoro
  • Blocco eccessivo del database
  • Utilizzo elevato della memoria
  • Altre statistiche di attesa

Il raggiungimento dei limiti delle risorse o dei limiti delle risorse del pool elastico indica che il consumo di risorse disponibili in una sottoscrizione o nel pool elastico ha superato le soglie assolute, indicando una riduzione delle prestazioni del carico di lavoro. Un numero eccessivo di thread di sessioni o di processi di lavoro indica una condizione in cui il numero di thread di processi di lavoro o di sessioni avviate ha superato le soglie assolute, indicando una riduzione delle prestazioni del carico di lavoro.

Un blocco eccessivo del database indica una condizione in cui il numero di blocchi in un database ha superato una soglia assoluta, indicando una riduzione delle prestazioni del carico di lavoro. Un uso elevato della memoria è una condizione in cui il numero di thread che richiedono concessioni di memoria ha superato una soglia assoluta, indicando una riduzione delle prestazioni del carico di lavoro.

Il rilevamento di altre statistiche di attesa indica una condizione in cui le diverse metriche misurate tramite le statistiche di attesa di Query Store superano una soglia assoluta, indicando una riduzione delle prestazioni del carico di lavoro.

Dopo che sono stati rilevati tempi di attesa eccessivi, il log di diagnostica di Intelligent Insights restituisce, a seconda dei dati disponibili, i codici hash delle query responsabili e interessate dalla riduzione delle prestazioni, i dettagli delle metriche che comportano l'attesa delle query in esecuzione e i tempi di attesa misurati.

Richieste con errori

Il modello di riduzione delle prestazioni basato sulle richieste con errori monitora le singole query e rileva un aumento del numero di query che hanno generato errori rispetto al periodo della baseline. Questo modello monitora anche le eccezioni critiche che hanno raggiunto soglie assolute gestite dalla funzionalità di intelligenza integrata. Il sistema prende automaticamente in considerazione il numero di richieste di query effettuate nel database e tutte le modifiche del carico di lavoro nel periodo monitorato.

Quando l'aumento misurato nelle richieste con errori in relazione al numero complessivo delle richieste effettuate viene considerato significativo per le prestazioni del carico di lavoro, le query interessate sono contrassegnate con l'indicazione di un problema di riduzione delle prestazioni basato sulle richieste con errori.

Il log di Intelligent Insights restituisce il numero di richieste con errori. Indica se la riduzione delle prestazioni è correlata all'aumento delle richieste con errori o al raggiungimento di una delle soglie di eccezioni critiche monitorate e il tempo misurato della riduzione delle prestazioni.

Nel caso in cui una delle eccezioni critiche monitorate superi le soglie assolute gestite dal sistema, viene generata un'analisi intelligente con informazioni dettagliate sull'eccezione critica.

Passaggi successivi