Tutorial: Query Performance Insight für Azure Database for MySQL – Flexible Server
GILT FÜR: Azure Database for MySQL – Flexible 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 azure Database for MySQL flexible Server slow query logs, the Log Analytics tool, and workbooks templates to visualize Query Performance Insight for Azure Database for MySQL flexible server.
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 Azure-Datenbank für eine flexible Serverinstanz für MySQL.
- 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 Azure-Datenbank für die flexible Serverinstanz von MySQL 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.
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 langsame Abfrageprotokolle für Ihre flexible Azure-Datenbank für MySQL-Serverinstanz über die Azure CLI aktivieren und konfigurieren, indem Sie den folgenden Befehl ausführen:
Wichtig
Um sicherzustellen, dass die Leistung Ihrer flexiblen Serverinstanz in Ihrer Azure-Datenbank für MySQL nicht stark beeinträchtigt wird, empfehlen wir, nur die Ereignistypen und Benutzer zu protokollieren, die für Ihre Überwachungszwecke erforderlich sind.
- Aktivieren Sie langsame Abfrageprotokolle.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
- Legen Sie long_query_time Zeit auf 10 Sekunden fest. Diese Einstellung protokolliert alle Abfragen, die länger 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 Azure-Datenbank für MySQL flexible Serverinstanz" 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.