Tutorial: Query Performance Insight für Azure Database for MySQL – Flexible Server
GILT FÜR: Azure Database for MySQL – Flexibler Server
Query Performance Insight ermöglicht eine intelligente Abfrageanalyse für Datenbanken. Zu den bevorzugten Erkenntnissen zählen die Workloadmuster und zeitintensiveren Abfragen. Anhand dieser Erkenntnisse können Sie ermitteln, welche Abfragen optimiert werden müssen, um die Gesamtleistung zu verbessern und Ihre verfügbaren Ressourcen effizient zu nutzen.
Query Performance Insight soll den Zeitaufwand für die Problembehandlung der Datenbankleistung reduzieren. Dazu stellt das Tool u. a. folgende Informationen bereit:
- Erste N zeitintensive Abfragen und ihr Trend
- Abfragedetails: Zeigen Sie den Ausführungsverlauf mit minimaler, maximaler und durchschnittlicher Abfragedauer sowie die Standardabweichung der Abfragedauer an.
- Ressourcenverwendung (CPU, Arbeitsspeicher und Speicher)
In diesem Artikel wird erläutert, wie Sie Protokolle für langsame Abfragen in Azure Database for MySQL – flexibler Server, das Log Analytics-Tool und Arbeitsmappenvorlagen verwenden, um Query Performance Insight für Azure Database for MySQL – flexibler Server zu visualisieren.
In diesem Tutorial lernen Sie Folgendes:
- Konfigurieren der Protokolle für langsame Abfragen mithilfe des Azure-Portals oder der Azure CLI
- Einrichten der Diagnose
- Anzeigen der Protokolle für langsame Abfragen mithilfe von Log Analytics
- Anzeigen der Protokolle für langsame Abfragen mithilfe Arbeitsmappen
Voraussetzungen
- Erstellen Sie eine Instanz von Azure Database for MySQL – flexibler Server.
- Erstellen eines Log Analytics-Arbeitsbereichs
Konfigurieren von Protokollen für langsame Abfragen mithilfe des Azure-Portals
Melden Sie sich beim Azure-Portal an.
Wählen Sie Ihre Instanz von Azure Database for MySQL – flexibler Server aus.
Wählen Sie im Bereich auf der linken Seite unter Einstellungen die Option Serverparameter aus.
Wählen Sie für den Parameter slow_query_log die Option ON aus.
Informationen zu den anderen Parametern (etwa long_query_time und log_slow_admin_statements) finden Sie in der Dokumentation zu Protokollen für langsame Abfragen.
Wählen Sie Speichern aus.
Sie können zur Liste der Protokolle zurückkehren, indem Sie die Seite Serverparameter schließen.
Konfigurieren von Protokollen für langsame Abfragen mithilfe der Azure CLI
Alternativ können Sie Protokolle für langsame Abfragen für Ihre Instanz von Azure Database for MySQL – flexibler Server über die Azure CLI durch Ausführen des folgenden Befehls aktivieren und konfigurieren:
Wichtig
Um sicherzustellen, dass die Leistung Ihrer Instanz von Azure Database for MySQL – flexibler Server nicht stark beeinträchtigt wird, wird empfohlen, dass Sie nur die Ereignistypen und Benutzer protokollieren, die für Ihre Überwachungszwecke benötigt werden.
- Aktivieren Sie Protokolle für langsamen Abfragen.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
- Legen Sie die Zeit für long_query_time auf 10 Sekunden fest. Diese Einstellung wird alle Abfragen protokollieren, die während mehr als 10 Sekunden ausgeführt werden. Passen Sie diesen Schwellenwert basierend auf Ihrer Definition für langsame Abfragen an.
az mysql server configuration set \
--name long_query_time \
--resource-group myresourcegroup \
--server mydemoserver \
--value 10
Einrichten der Diagnose
Protokolle für langsame Abfragen sind in die Diagnoseeinstellungen von Azure Monitor integriert, sodass Sie Ihre Protokolle an eine von drei Datensenken weiterleiten können:
- Einen Log Analytics-Arbeitsbereich.
- Einen Event Hub
- Ein Speicherkonto
Hinweis
Es wird empfohlen, die Datensenken zu erstellen, bevor Sie die Diagnoseeinstellungen konfigurieren. Sie können auf die Protokolle für langsame Abfragen in den von Ihnen konfigurierten Datensenken zugreifen. Es kann bis zu 10 Minuten dauern, bis die Protokolle angezeigt werden.
Wählen Sie im linken Bereich unter Überwachung die Option Diagnoseeinstellungen aus.
Wählen Sie im Bereich Diagnoseeinstellungen den Eintrag Diagnoseeinstellung hinzufügen aus.
Geben Sie im Feld Name einen Name für die Diagnoseeinstellung ein.
Geben Sie an, an welche Ziele (Log Analytics-Arbeitsbereich, Event Hub oder Speicherkonto) die Protokolle für langsame Abfragen gesendet werden sollen, indem Sie die entsprechenden Kontrollkästchen aktivieren.
Hinweis
In diesem Tutorial senden Sie die Protokolle für langsame Abfragen an einen Log Analytics-Arbeitsbereich.
Aktivieren Sie unter Protokoll für den Protokolltyp das Kontrollkästchen MySqlSlowLogs.
Nachdem Sie die Datensenken für die langsamen Abfrageprotokolle konfiguriert haben, wählen Sie Speichern aus.
Anzeigen von Abfrageerkenntnissen mithilfe von Log Analytics
Wählen Sie in Log Analytics im linken Bereich unter Überwachung die Option Protokolle aus.
Schließen Sie das geöffnete Fenster Abfragen.
Im Abfragefenster können Sie die auszuführende Abfrage schreiben. Zum Ermitteln von Abfragen auf einem bestimmten Server, die länger als zehn Sekunden dauern, wurde der folgende Code verwendet:
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
Wählen Sie einen Wert für Zeitbereich aus, und führen Sie die Abfrage aus. Die Ergebnisse sind in der folgenden Abbildung dargestellt:
Anzeigen von Abfrageerkenntnissen mithilfe von Arbeitsmappen
Wählen Sie im Azure-Portal im linken Bereich unter Überwachung für Ihre Instanz von Azure Database for MySQL – flexibler Server die Option Arbeitsmappen aus.
Wählen Sie die Vorlage Query Performance Insight aus.
In der Arbeitsmappe können Sie die folgenden Visualisierungen anzeigen:
- Abfragelast
- Aktive Verbindungen gesamt
- Trend langsamer Abfragen (Abfragezeit >10 Sekunden)
- Details zu langsamen Abfragen
- 5 längste Abfragen auflisten
- Zusammenfassen langsamer Abfragen nach minimaler, maximaler und durchschnittlicher Abfragezeit sowie der Abfragezeit mit Standardabweichung
Hinweis
- Zum Anzeigen der Ressourcenverwendung können Sie die Vorlage „Übersicht“ verwenden.
- Sie können diese Vorlagen auch entsprechend Ihren Anforderungen bearbeiten und anpassen. Weitere Informationen finden Sie unter Azure-Arbeitsmappen.
- Zur Schnellansicht können Sie die Arbeitsmappen oder die Log Analytics-Abfrage auch an Ihr Dashboard anheften. Weitere Informationen finden Sie unter Erstellen eines Dashboards im Azure-Portal.
In Query Performance Insight können Ihnen die folgenden zwei Metriken helfen, potenzielle Engpässe zu finden: Dauer und Anzahl von Ausführungen. Abfragen mit langer Ausführungsdauer besitzen das größte Potenzial, Ressourcen länger zu blockieren, andere Benutzer zu blockieren und die Skalierbarkeit einzuschränken.
In einigen Fällen kann eine hohe Anzahl von Ausführungen mehr Netzwerkroundtrips nach sich ziehen. Roundtrips beeinträchtigen die Leistung. Sie richten sich nach der Netzwerklatenz und der Serverlatenz bei Downstreams. Daher kann die Anzahl von Ausführungen helfen, häufig ausgeführte Abfragen zu ermitteln. Diese Abfragen sind auch die besten Kandidaten für eine Optimierung.
Nächste Schritte
- Erfahren Sie mehr über Azure Monitor-Arbeitsmappen und ihre umfangreichen Visualisierungsoptionen.
- Erfahren Sie mehr über Protokolle für langsame Abfragen.