Esercitazione: Informazioni dettagliate prestazioni query per Database di Azure per MySQL - Server flessibile
Informazioni dettagliate prestazioni query propone di fornire un'analisi intelligente delle query per i database. I dati analitici più preferiti sono i modelli di carico di lavoro e le query con esecuzione più lunga. La comprensione di queste informazioni dettagliate consente di individuare le query da ottimizzare per migliorare le prestazioni complessive e di usare le risorse disponibili in modo efficiente.
Informazioni dettagliate prestazioni query è progettato per semplificare la risoluzione dei problemi di prestazioni del database fornendo informazioni come:
- Prime N query a esecuzione prolungata e le relative tendenze.
- Dettagli della query: visualizzare la cronologia dell'esecuzione con tempo di query minimo, massimo, medio e deviazione standard.
- Utilizzo delle risorse (CPU, memoria e archiviazione).
Questo articolo illustra come usare Database di Azure per MySQL log di query lente del server flessibile, lo strumento Log Analytics e i modelli di cartelle di lavoro per visualizzare Informazioni dettagliate prestazioni query per Database di Azure per MySQL server flessibile.
Questa esercitazione illustra come:
- Configurare i log di query lente usando il portale di Azure o l'interfaccia della riga di comando di Azure
- Configurare la diagnostica
- Visualizzare i log di query lente con Log Analytics
- Visualizzare i log delle query lente usando le cartelle di lavoro
Prerequisiti
- Guida introduttiva: Creare un'istanza di Database di Azure per MySQL con il portale di Azure.
- Creare un'area di lavoro Log Analytics.
Configurare i log di query lente usando il portale di Azure
Accedere al portale di Azure.
Selezionare l'istanza del server flessibile Database di Azure per MySQL.
Nel riquadro sinistro, in Impostazioni selezionare Parametri del server.
Per il parametro slow_query_log selezionare ON.
Per gli altri parametri, ad esempio long_query_time e log_slow_admin_statements, vedere la documentazione relativa ai log delle query lente.
Seleziona Salva.
È possibile tornare all'elenco dei log chiudendo la pagina Parametri server.
Configurare i log di query lente usando l'interfaccia della riga di comando di Azure
In alternativa, è possibile abilitare e configurare log di query lente per l'istanza del server flessibile Database di Azure per MySQL dall'interfaccia della riga di comando di Azure eseguendo il comando seguente:
Importante
Per assicurarsi che le prestazioni dell'istanza del server flessibile di Database di Azure per MySQL non siano fortemente influenzate, è consigliabile registrare solo i tipi di evento e gli utenti necessari per scopi di controllo.
- Abilitare i log delle query lente.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
- Impostare long_query_time tempo su 10 secondi. Questa impostazione registra tutte le query eseguite per più di 10 secondi. Modificare questa soglia in base alla definizione per le query lente.
az mysql server configuration set \
--name long_query_time \
--resource-group myresourcegroup \
--server mydemoserver \
--value 10
Configurare la diagnostica
I log di query lente sono integrati con le impostazioni di diagnostica di Monitoraggio di Azure per consentire di inviare i log a uno dei tre sink di dati seguenti:
- Un'area di lavoro di Log Analytics
- Un hub eventi
- Un account di archiviazione
Nota
È necessario creare i sink di dati prima di configurare le impostazioni di diagnostica. È possibile accedere ai log di query lente nei sink di dati configurati. La visualizzazione dei log può richiedere fino a 10 minuti.
Selezionare Impostazioni di diagnostica in Monitoraggio nel riquadro sinistro.
Nel riquadro Impostazioni di diagnostica selezionare Aggiungi impostazione di diagnostica.
Nella casella Nome immettere un nome per l'impostazione di diagnostica.
Specificare le destinazioni (area di lavoro Log Analytics, un hub eventi o un account di archiviazione) a cui inviare i log di query lente selezionando le rispettive caselle di controllo corrispondenti.
Nota
Per questa esercitazione si invieranno i log delle query lente a un'area di lavoro Log Analytics.
In Log selezionare la casella di controllo MySqlSlowLogs per il tipo di log.
Dopo aver configurato i sink di dati a cui inviare tramite pipe i log delle query lente, selezionare Salva.
Visualizzare informazioni dettagliate sulle query con Log Analytics
In Log Analytics, nel riquadro sinistro, in Monitoraggio selezionare Log.
Chiudere la finestra Query visualizzata.
Nella finestra della query è possibile scrivere la query da eseguire. Per trovare query più lunghe di 10 secondi in un determinato server, è stato usato il codice seguente:
AzureDiagnostics | where Category == 'MySqlSlowLogs' | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s | where query_time_d > 10
Selezionare l'intervallo di tempo e quindi eseguire la query. I risultati vengono visualizzati nell'immagine seguente:
Visualizzare informazioni dettagliate sulle query usando le cartelle di lavoro
Nel portale di Azure, nel riquadro sinistro, in Monitoraggio per l'istanza del server flessibile Database di Azure per MySQL selezionare Cartelle di lavoro.
Selezionare il modello Informazioni dettagliate prestazioni query.
Nella cartella di lavoro è possibile visualizzare le visualizzazioni seguenti:
- Caricamento query
- Totale connessioni attive
- Tendenza query lenta (>tempo di query di 10 sec)
- Dettagli query lente
- Elencare le prime 5 query più lunghe
- Riepilogare le query lente in base al tempo minimo, massimo, medio e con deviazione standard
Nota
- Per visualizzare l'utilizzo delle risorse, è possibile usare il modello Panoramica.
- È anche possibile modificare questi modelli e personalizzarli in base alle esigenze. Per altre informazioni, vedere Cartelle di lavoro di Azure.
- Per una visualizzazione rapida, è anche possibile aggiungere le cartelle di lavoro o la query di Log Analytics al dashboard. Per altre informazioni, vedere Creare un dashboard nel portale di Azure.
In Informazioni dettagliate prestazioni query due metriche che consentono di individuare potenziali colli di bottiglia sono durata e numero di esecuzioni. Le query con esecuzione prolungata hanno le maggiori probabilità di bloccare gli altri utenti e le risorse più a lungo, nonché di limitare la scalabilità.
In alcuni casi, un conteggio di esecuzioni molto elevato potrebbe causare l'aumento dei round trip di rete. I round trip influiscono sulle prestazioni. Sono soggetti alla latenza di rete e alla latenza del server downstream. Pertanto, il numero di esecuzioni può aiutare a trovare query eseguite di frequente ("chatty"). Queste query sono i migliori candidati per l'ottimizzazione.