Zelfstudie: Inzicht in queryprestaties voor Azure Database for MySQL - Flexibele server
Query Performance Insight stelt voor om intelligente queryanalyses voor databases te bieden. De meest voorkeursinzichten zijn de workloadpatronen en de langer uitgevoerde query's. Als u deze inzichten begrijpt, kunt u vinden welke query's u kunt optimaliseren om de algehele prestaties te verbeteren en uw beschikbare resources efficiënt te gebruiken.
Query Performance Insight is ontworpen om u te helpen minder tijd te besteden aan het oplossen van problemen met databaseprestaties door informatie zoals:
- Top N langlopende query's en hun trends.
- De querydetails: bekijk de uitvoeringsgeschiedenis met minimale, maximale, gemiddelde en standaarddeviatiequerytijd.
- Het resourcegebruik (CPU, geheugen en opslag).
In dit artikel wordt beschreven hoe u trage querylogboeken van Azure Database for MySQL Flexible Server, het Hulpprogramma Log Analytics en werkmappen gebruikt om Query Performance Insight voor Azure Database for MySQL Flexibele server te visualiseren.
In deze zelfstudie leert u het volgende:
- Logboeken voor langzame query's configureren met behulp van De Azure-portal of de Azure CLI
- Diagnostische gegevens instellen
- Logboeken met trage query's weergeven met behulp van Log Analytics
- Logboeken met trage query's weergeven met behulp van werkmappen
Vereisten
- Quickstart: Een exemplaar van Azure Database for MySQL maken met Azure Portal.
- Maak een Log Analytics-werkruimte.
Logboeken voor langzame query's configureren met behulp van Azure Portal
Meld u aan bij het Azure-portaal.
Selecteer uw Azure Database for MySQL Flexible Server-exemplaar.
Selecteer serverparameters in het linkerdeelvenster onder Instellingen.
Selecteer AAN voor de parameter slow_query_log.
Raadpleeg de documentatie voor langzame querylogboeken voor de andere parameters, zoals long_query_time en log_slow_admin_statements.
Selecteer Opslaan.
U kunt teruggaan naar de lijst met logboeken door de pagina Serverparameters te sluiten.
Logboeken voor langzame query's configureren met behulp van de Azure CLI
U kunt ook langzame querylogboeken inschakelen en configureren voor uw Azure Database for MySQL Flexible Server-exemplaar vanuit de Azure CLI door de volgende opdracht uit te voeren:
Belangrijk
Om ervoor te zorgen dat de prestaties van uw Azure Database for MySQL Flexible Server-exemplaar niet sterk worden beïnvloed, raden we u aan alleen de gebeurtenistypen en gebruikers te registreren die vereist zijn voor uw controledoeleinden.
- Schakel logboeken voor langzame query's in.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
- Stel long_query_time tijd in op 10 seconden. Met deze instelling worden alle query's vastgelegd die langer dan 10 seconden worden uitgevoerd. Pas deze drempelwaarde aan op basis van uw definitie voor trage query's.
az mysql server configuration set \
--name long_query_time \
--resource-group myresourcegroup \
--server mydemoserver \
--value 10
Diagnostische gegevens instellen
Logboeken met trage query's zijn geïntegreerd met diagnostische instellingen van Azure Monitor, zodat u uw logboeken kunt doorsluisen naar een van de drie gegevenssinks:
- Een Log Analytics-werkruimte
- Een Event Hub
- Een opslagaccount
Notitie
U moet uw gegevenssinks maken voordat u de diagnostische instellingen configureert. U hebt toegang tot de logboeken voor langzame query's in de gegevenssinks die u hebt geconfigureerd. Het kan tot 10 minuten duren voordat de logboeken worden weergegeven.
Selecteer diagnostische instellingen in het linkerdeelvenster onder Bewaking.
Selecteer Diagnostische instelling toevoegen in het deelvenster Diagnostische instellingen.
Voer in het vak Naam een naam in voor de diagnostische instelling.
Geef op naar welke bestemmingen (Log Analytics-werkruimte, een Event Hub of een opslagaccount) de logboeken voor langzame query's moeten worden verzonden door de bijbehorende selectievakjes in te schakelen.
Notitie
Voor deze zelfstudie verzendt u de logboeken voor langzame query's naar een Log Analytics-werkruimte.
Schakel onder Logboek voor het logboektype het selectievakje MySqlSlowLogs in.
Nadat u de gegevenssinks hebt geconfigureerd om de logboeken voor langzame query's door te geven, selecteert u Opslaan.
Query-inzichten weergeven met behulp van Log Analytics
Selecteer logboeken in Log Analytics in het linkerdeelvenster onder Bewaking.
Sluit het venster Query's dat wordt geopend.
In het queryvenster kunt u de query schrijven die moet worden uitgevoerd. Voor het vinden van query's die langer zijn dan 10 seconden op een bepaalde server, hebben we de volgende code gebruikt:
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
Selecteer het tijdsbereik en voer de query uit. De resultaten worden weergegeven in de volgende afbeelding:
Queryinzichten weergeven met behulp van werkmappen
Selecteer In Azure Portal, in het linkerdeelvenster, onder Bewaking voor uw exemplaar van Azure Database for MySQL Flexibele server, Werkmappen.
Selecteer de sjabloon Query Performance Insight .
In de werkmap kunt u de volgende visualisaties bekijken:
- Query laden
- Totaal aantal actieve verbindingen
- Trage querytrend (>querytijd van 10 seconden)
- Trage querydetails
- Top 5 langste query's weergeven
- Trage query's samenvatten op minimale, maximale, gemiddelde en standaarddeviatiequerytijd
Notitie
- Als u het resourcegebruik wilt weergeven, kunt u de overzichtssjabloon gebruiken.
- U kunt deze sjablonen ook bewerken en aanpassen aan uw vereisten. Zie Azure Workbooks voor meer informatie.
- Voor een snelle weergave kunt u ook de werkmappen of Log Analytics-query vastmaken aan uw dashboard. Zie Een dashboard maken in Azure Portal voor meer informatie.
In Query Performance Insight zijn twee metrische gegevens waarmee u potentiële knelpunten kunt vinden: duur en aantal uitvoeringen. Langlopende query's hebben het grootste potentieel voor het langer vergrendelen van resources, het blokkeren van andere gebruikers en het beperken van schaalbaarheid.
In sommige gevallen kan een hoog aantal uitvoeringen leiden tot meer netwerkrondes. Retouren zijn van invloed op de prestaties. Ze zijn onderhevig aan netwerklatentie en downstreamserverlatentie. Het aantal uitvoeringen kan dus helpen om regelmatig uitgevoerde query's ('chatty') te vinden. Deze query's zijn de beste kandidaten voor optimalisatie.