In questo post, vorrei dare una breve occhiata a Query Performance Insight — Strumento SQL Azure che ti aiuterà a identificare le query più costose nel tuo database.
Query Performance Insights è stato annunciato all'inizio di ottobre 2015. Per capire di cosa si tratta, pensiamo a come si apprende di solito che le prestazioni del database sono diminuite? Probabilmente stai ricevendo e-mail dai tuoi clienti o ci vuole un'ora per creare un rapporto settimanale invece di diversi minuti, o forse la tua applicazione inizia a generare eccezioni.
Nuovo portale di Azure
Per eseguire alcune azioni, stai visitando portal.azure.com, trova il tuo database in un elenco di risorse e inizia a guardare il grafico di monitoraggio:
Sì, è successo qualcosa, DTU è balzato al 90%, cosa succede dopo? Per approfondire e trovare il colpevole, carichiamo Query Performance Insight.
Query Insight sul rendimento
Per avviare Query Performance Insight, procedi come segue:
1. Nel portale, accedere a un database SQL e fare clic su Query Performance Insight.
2. Osservare il grafico per i dettagli.
La riga superiore mostra la DTU% complessiva per il database, mentre le barre mostrano la CPU% consumata dalle query selezionate durante l'intervallo selezionato (ad esempio, se è selezionata l'ultima settimana, ciascuna barra rappresenta 1 giorno).
La griglia inferiore rappresenta le informazioni aggregate per le query visibili.
- CPU media per query durante l'intervallo osservabile.
- Durata totale per query.
- Numero totale di esecuzioni per una query particolare.
Seleziona o deseleziona singole query per includerle o escluderle dal grafico.
3. È possibile fare clic sul pulsante Aggiorna, in caso di dati obsoleti.
4. Per personalizzare la rappresentazione del modo in cui la CPU consuma i dati o per mostrare un periodo di tempo diverso, fai clic su Impostazioni.
Esplorazione dei dettagli delle singole query
Apriamo la query che ha utilizzato la maggior quantità di CPU. Per visualizzare i dettagli della query:
1. Fare clic su una query nell'elenco delle query principali.
Si apre la visualizzazione dei dettagli e le query Il consumo della CPU viene suddiviso nel tempo. Possiamo visualizzare il grafico per i dettagli. La riga superiore è la DTU% complessiva e le barre sono la CPU% consumata dalla query selezionata.
2. Analizza i dati per ottenere metriche dettagliate, tra cui durata, numero di esecuzioni e percentuale di utilizzo delle risorse per ogni intervallo di esecuzione della query.
Ottimizzazione della configurazione del Query Store per Query Performance Insight
Durante l'utilizzo di Query Performance Insight, potresti visualizzare i seguenti messaggi di Query Store:
- "Il Query Store ha raggiunto la sua capacità e non raccoglie nuovi dati."
- "L'archivio query per questo database è in modalità di sola lettura e non raccoglie dati di informazioni dettagliate sulle prestazioni."
- "I parametri di Query Store non sono impostati in modo ottimale per Query Performance Insight."
Appaiono fondamentalmente quando Query Store non è in grado di raccogliere nuovi dati. Per riparare, puoi utilizzare le seguenti opzioni:
- Modifica la policy di conservazione e acquisizione di Query Store
- Aumenta le dimensioni del Query Store
- Cancella archivio query
- Consigliato
Norme di conservazione e acquisizione consigliate
Esistono due tipi di criteri di conservazione:
Basato sulle dimensioni – AUTO pulirà automaticamente i dati al raggiungimento della dimensione massima.
In base al tempo – Il valore predefinito è 30 giorni. Quando Query Store esaurirà lo spazio, eliminerà le informazioni sulle query più vecchie di 30 giorni.
Il criterio di acquisizione può essere impostato su:
Tutto – L'opzione predefinita (acquisisce tutte le query).
Automatico – Le query non frequenti e le query con durata di compilazione ed esecuzione insignificante vengono ignorate. Le soglie per il conteggio delle esecuzioni, la compilazione e la durata del runtime sono determinate internamente.
Nessuna – Query Store interrompe l'acquisizione di nuove query.
Riepilogo
Query Performance Insight consente di analizzare e comprendere l'impatto del carico di lavoro delle query e in che modo è correlato al consumo delle risorse del database. Utilizzando questo strumento, imparerai a conoscere le query che consumano di più e identificherai facilmente quelle da correggere prima che diventino un problema.
Ulteriori letture:
Query Store:un registratore di dati di volo per il tuo database