Kurz: Query Performance Insight pro flexibilní server Azure Database for MySQL
Query Performance Insight navrhuje poskytovat inteligentní analýzu dotazů pro databáze. Nejpřednější přehledy jsou vzory úloh a dlouhotrvající dotazy. Porozumění těmto přehledům vám může pomoct zjistit, které dotazy se mají optimalizovat, aby se zlepšil celkový výkon a efektivně využívaly dostupné prostředky.
Query Performance Insight je navržený tak, aby vám pomohl trávit méně času odstraňováním potíží s výkonem databáze tím, že poskytuje například tyto informace:
- Nejčastější dlouhotrvající dotazy a jejich trendy
- Podrobnosti dotazu: Zobrazte historii provádění s minimálním, maximálním, průměrem a směrodatnou odchylkou doby dotazu.
- Využití prostředků (procesor, paměť a úložiště)
Tento článek popisuje, jak používat protokoly pomalých dotazů flexibilního serveru Azure Database for MySQL, nástroj Log Analytics a šablony sešitů k vizualizaci nástroje Query Performance Insight pro flexibilní server Azure Database for MySQL.
V tomto kurzu se naučíte:
- Konfigurace protokolů pomalých dotazů pomocí webu Azure Portal nebo Azure CLI
- Nastavení diagnostiky
- Zobrazení protokolů pomalých dotazů pomocí Log Analytics
- Zobrazení protokolů pomalých dotazů pomocí sešitů
Požadavky
- Rychlý start: Vytvoření instance Azure Database for MySQL pomocí webu Azure Portal
- Vytvořte pracovní prostor služby Log Analytics.
Konfigurace protokolů pomalých dotazů pomocí webu Azure Portal
Přihlaste se k portálu Azure.
Vyberte instanci flexibilního serveru Azure Database for MySQL.
V levém podokně v části Nastavení vyberte Parametry serveru.
U parametru slow_query_log vyberte ZAPNUTO.
Další parametry, jako jsou long_query_time a log_slow_admin_statements, najdete v dokumentaci k protokolům pomalých dotazů.
Zvolte Uložit.
Do seznamu protokolů se můžete vrátit zavřením stránky parametrů serveru.
Konfigurace protokolů pomalých dotazů pomocí Azure CLI
Případně můžete povolit a nakonfigurovat protokoly pomalých dotazů pro instanci flexibilního serveru Azure Database for MySQL z Azure CLI spuštěním následujícího příkazu:
Důležité
Pokud chcete zajistit, aby výkon instance flexibilního serveru Azure Database for MySQL nebyl silně ovlivněný, doporučujeme protokolovat pouze typy událostí a uživatele, které jsou potřeba pro účely auditování.
- Povolte protokoly pomalých dotazů.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
- Nastavte long_query_time dobu na 10 sekund. Toto nastavení zapíše všechny dotazy, které se spouštějí déle než 10 sekund. Upravte tuto prahovou hodnotu na základě definice pomalých dotazů.
az mysql server configuration set \
--name long_query_time \
--resource-group myresourcegroup \
--server mydemoserver \
--value 10
Nastavení diagnostiky
Protokoly pomalých dotazů jsou integrované s nastavením diagnostiky služby Azure Monitor, abyste mohli protokoly převést do některé ze tří datových jímek:
- Pracovní prostor služby Log Analytics
- Centrum událostí
- Účet úložiště
Poznámka:
Než nakonfigurujete nastavení diagnostiky, měli byste datové jímky vytvořit. Protokoly pomalých dotazů můžete získat v nakonfigurovaných datových jímkách. Zobrazení protokolů může trvat až 10 minut.
V levém podokně v části Monitorování vyberte Nastavení diagnostiky.
V podokně Nastavení diagnostiky vyberte Přidat nastavení diagnostiky.
Do pole Název zadejte název nastavení diagnostiky.
Určete, do kterých cílů (pracovní prostor služby Log Analytics, centrum událostí nebo účet úložiště) se mají protokoly pomalých dotazů odesílat zaškrtnutím příslušných políček.
Poznámka:
V tomto kurzu odešlete protokoly pomalých dotazů do pracovního prostoru služby Log Analytics.
V části Protokol pro typ protokolu zaškrtněte políčko MySqlSlowLogs .
Jakmile nakonfigurujete jímky dat tak, aby se protokoly pomalých dotazů odsílaly do kanálu, vyberte Uložit.
Zobrazení přehledů dotazů pomocí Log Analytics
V Log Analytics v levém podokně v části Monitorování vyberte Protokoly.
Zavřete okno Dotazy, které se otevře.
V okně dotazu můžete napsat dotaz, který se má spustit. K vyhledání dotazů delších než 10 sekund na konkrétním serveru jsme použili následující kód:
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
Vyberte časový rozsah a spusťte dotaz. Výsledky se zobrazí na následujícím obrázku:
Zobrazení přehledů dotazů pomocí sešitů
Na webu Azure Portal v levém podokně v části Monitorování instance flexibilního serveru Azure Database for MySQL vyberte Sešity.
Vyberte šablonu Query Performance Insight.
V sešitu můžete zobrazit následující vizualizace:
- Načtení dotazu
- Celkový počet aktivních připojení
- Pomalý trend dotazů (>10 sekund čas dotazu)
- Podrobnosti o pomalém dotazu
- Seznam prvních 5 nejdelších dotazů
- Shrnutí pomalých dotazů podle minimálního, maximálního, průměrného a směrodatné odchylky doby dotazu
Poznámka:
- K zobrazení využití prostředků můžete použít šablonu Přehled.
- Tyto šablony můžete také upravit a přizpůsobit podle svých požadavků. Další informace najdete v tématu Azure Workbooks.
- Pro rychlé zobrazení můžete sešity nebo dotaz Log Analytics připnout na řídicí panel. Další informace najdete v tématu Vytvoření řídicího panelu na webu Azure Portal.
V Nástroji Query Performance Insight jsou dvě metriky, které vám můžou pomoct najít potenciální kritické body, doba trvání a počet spuštění. Dlouhotrvající dotazy mají největší potenciál pro delší uzamčení prostředků, blokování jiných uživatelů a omezení škálovatelnosti.
V některýchpřípadechch Doba odezvy ovlivňuje výkon. Podléhají latenci sítě a latenci podřízených serverů. Počet spuštění tak může pomoct najít často spouštěné ("chatty") dotazy. Tyto dotazy jsou nejlepšími kandidáty pro optimalizaci.