Sdílet prostřednictvím


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

Konfigurace protokolů pomalých dotazů pomocí webu Azure Portal

  1. Přihlaste se k portálu Azure.

  2. Vyberte instanci flexibilního serveru Azure Database for MySQL.

  3. V levém podokně v části Nastavení vyberte Parametry serveru.

    Snímek obrazovky se seznamem Parametry serveru

  4. U parametru slow_query_log vyberte ZAPNUTO.

    Snímek obrazovky znázorňující parametr slow_query_log se přepnul na ZAPNUTO

  5. Další parametry, jako jsou long_query_time a log_slow_admin_statements, najdete v dokumentaci k protokolům pomalých dotazů.

    Snímek obrazovky zobrazující aktualizované hodnoty zbývajících parametrů souvisejících s pomalým dotazem

  6. Zvolte Uložit.

    Snímek obrazovky s tlačítkem Uložit pro ukládání změn v hodnotách parametrů

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.

  1. V levém podokně v části Monitorování vyberte Nastavení diagnostiky.

  2. V podokně Nastavení diagnostiky vyberte Přidat nastavení diagnostiky.

    Snímek obrazovky s odkazem Přidat nastavení diagnostiky v podokně Nastavení diagnostiky

  3. Do pole Název zadejte název nastavení diagnostiky.

  4. 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.

  5. V části Protokol pro typ protokolu zaškrtněte políčko MySqlSlowLogs .

    Snímek obrazovky s podoknem Nastavení diagnostiky pro výběr možností konfigurace

  6. Jakmile nakonfigurujete jímky dat tak, aby se protokoly pomalých dotazů odsílaly do kanálu, vyberte Uložit.

    Snímek obrazovky s možnostmi konfigurace nastavení diagnostiky se zvýrazněnou možností Uložit

Zobrazení přehledů dotazů pomocí Log Analytics

  1. V Log Analytics v levém podokně v části Monitorování vyberte Protokoly.

  2. Zavřete okno Dotazy, které se otevře.

    Snímek obrazovky s podoknem Dotazy v Log Analytics

  3. 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
    
  4. Vyberte časový rozsah a spusťte dotaz. Výsledky se zobrazí na následujícím obrázku:

    Snímek obrazovky s protokolem pomalých dotazů

Zobrazení přehledů dotazů pomocí sešitů

  1. Na webu Azure Portal v levém podokně v části Monitorování instance flexibilního serveru Azure Database for MySQL vyberte Sešity.

  2. Vyberte šablonu Query Performance Insight.

    Snímek obrazovky zobrazující všechny sešity v galerii sešitů

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

Snímek obrazovky se dvěma dlouhými dotazy

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.