Analisi approfondita delle prestazioni delle query nel database Azure per PostgreSQL, server flessibile

Query Performance Insight fornisce un'analisi intelligente delle query per i database in un server flessibile di Database di Azure per PostgreSQL. Consente di identificare le query con utilizzo elevato delle risorse e a esecuzione prolungata nel carico di lavoro. Queste informazioni consentono di trovare le query per ottimizzare per migliorare le prestazioni complessive del carico di lavoro ed usare in modo efficiente la risorsa per cui si paga. Informazioni dettagliate prestazioni query consente di dedicare meno tempo alla risoluzione dei problemi di prestazioni del database offrendo i vantaggi seguenti:​

  • Identificazione delle query di lunga durata e di come cambiano nel tempo.
  • Determinazione dei tipi di attesa che interessano tali query.
  • Dettagli sulle query principali del database tramite chiamate (numero di esecuzioni), utilizzo dei dati, operazioni di I/O al secondo e utilizzo temporaneo dei file (potenziali candidati per l'ottimizzazione delle prestazioni).
  • Possibilità di eseguire il drill-down dei dettagli di una query, per visualizzare l'ID query e la cronologia dell'utilizzo delle risorse.
  • Informazioni più approfondite sull'utilizzo complessivo delle risorse dei database.

Prerequisiti

  • Query Store è abilitato nel database. Se Query Store non è in esecuzione, il portale di Azure richiede di abilitarlo. Per abilitare Query Store, vedere Abilitare Query Store.

Annotazioni

Query Store è attualmente disabilitato. Query Performance Insight dipende dai dati di Query Store. È necessario abilitarla impostando il parametro pg_qs.query_capture_mode dinamico su ALL o TOP.

Annotazioni

Il campionamento delle attese di Query Store è attualmente disabilitato. Query Performance Insight dipende dai dati di campionamento delle attese di Query Store. È necessario abilitarla impostando il parametro pgms_wait_sampling.query_capture_mode dinamico su ALL.

  • Log Analytics'area di lavoro è configurata per l'archiviazione di tre categorie di log, tra cui i dati delle sessioni PostgreSQL, il runtime dell'archivio query PostgreSQL e le statistiche di attesa dell'archivio query PostgreSQL. Per configurare Log Analytics, vedere Configurare e accedere ai log.

Annotazioni

I dati dell'archivio query non vengono trasmessi all'area di lavoro Log Analytics. I log (dati delle sessioni, Runtime di Query Store e Statistiche di attesa di Query Store) non vengono inviati all'area di lavoro Log Analytics, necessaria per usare Query Performance Insight. Per configurare le impostazioni di diagnostica per un server flessibile Database di Azure per PostgreSQL e inviare i dati a un'area di lavoro Log Analytics, vedere Configurare e accedere ai log in Database di Azure per PostgreSQL.

Permissions

Per usare Query Performance Insight con il server flessibile di Database di Azure per PostgreSQL, sono necessarie le seguenti autorizzazioni controllo degli accessi in base al ruolo di Azure (Azure RBAC) assegnate al server flessibile PostgreSQL:

  • Microsoft.DBforPostgreSQL/flexibleServers/configurations/read
  • Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/read
  • Microsoft.DBforPostgreSQL/flexibleServers/read
  • Microsoft.Insights/Components/read
  • Microsoft.Insights/DiagnosticSettings/read
  • Microsoft.Insights/DiagnosticSettingsCategories/read
  • Microsoft.Insights/Logs/AzureDiagnostics/read
  • Microsoft.Insights/Logs/read

Uso di Informazioni dettagliate prestazioni query

La vista Query Performance Insight nel portale di Azure offre visualizzazioni delle informazioni chiave di Query Store. Informazioni dettagliate prestazioni query è facile da usare:

  1. Aprire il portale di Azure e trovare un server flessibile Database di Azure per PostgreSQL da esaminare.

  2. Dal menu a sinistra aprire Prestazioni intelligenti>Informazioni dettagliate prestazioni query.

  3. Selezionare un intervallo di tempo per l'analisi delle query.

  4. Nella prima scheda esaminare l'elenco di query con esecuzione prolungata.

  5. Usare i dispositivi di scorrimento o zoom per modificare l'intervallo osservato.

    Screenshot che mostra l'uso dei dispositivi di scorrimento per modificare l'intervallo osservato.

  6. Facoltativamente, selezionare personalizzato per specificare un intervallo di tempo.

  7. Per visualizzare i dettagli di una query specifica, selezionare l'elenco QueryId Snapshot a discesa.

    Screenshot che mostra i dettagli di una query specifica.

  8. Per ottenere il testo di una query specifica, connettersi al database azure_sys nel server ed eseguire la query query_store.query_texts_view con QueryId.

    Screenshot che mostra come ottenere il testo della query di una query specifica.

  9. Nelle schede consecutive è possibile trovare altre informazioni dettagliate sulle query, tra cui:

    • Statistiche di attesa
    • Query principali per chiamate
    • Query principali in base all'utilizzo dei dati
    • Query principali per operazioni di I/O al secondo
    • Query principali per file temporanei

Annotazioni

Affinché un server flessibile di Database di Azure per PostgreSQL visualizzi le informazioni in Query Performance Insight, Query Store deve raccogliere dati per un paio d’ore. Se il database non presenta attività oppure se Query Store non era attivo durante un determinato periodo, i grafici risultano vuoti quando Query Performance Insight visualizza tale intervallo di tempo. È possibile abilitare Query Store in qualsiasi momento se non è in esecuzione. Per altre informazioni, vedere Procedure consigliate con Query Store.

Considerazioni

  • Informazioni dettagliate prestazioni query non è disponibile per le repliche in lettura.
  • Affinché Query Performance Insight funzioni, Query Store deve contenere dati. Poiché Query Store è una funzionalità di consenso esplicito, non è abilitata per impostazione predefinita in un server. È possibile abilitare o disabilitare Query Store a livello globale per tutti i database in un server. Non è possibile attivarlo o disattivarlo per singoli database.
  • L'abilitazione di Query Store nel piano tariffario Burstable potrebbe influire negativamente sulle prestazioni. Non abilitarlo su tale livello.