Použití protokolu diagnostiky výkonu Intelligent Insights s problémy s výkonem služby Azure SQL Database a Azure SQL Managed Instance

Platí pro:Azure SQL DatabaseAzure SQL Managed Instance

Tato stránka obsahuje informace o tom, jak používat protokol diagnostiky výkonu vygenerovaný službou Intelligent Insights služby Azure SQL Database a problémy s výkonem služby Azure SQL Managed Instance, jeho formát a data, která obsahuje pro potřeby vlastního vývoje. Tento protokol diagnostiky můžete odeslat do protokolů služby Azure Monitor, Azure Event Hubs, Azure Storage nebo řešení třetí strany pro vlastní možnosti upozorňování a vytváření sestav DevOps.

Poznámka:

Inteligentní přehledy jsou funkce Preview, která není dostupná v následujících oblastech: Západní Evropa, Severní Evropa, USA – západ 1 a USA – východ 1.

Hlavička protokolu

Protokol diagnostiky používá standardní formát JSON k výstupu zjištění Intelligent Insights. Přesná vlastnost kategorie pro přístup k protokolu Intelligent Insights je pevná hodnota SQLInsights, která nesouvisí s monitorováním služby Azure SQL Database pomocí služby Azure Monitor SQL Insights (Preview).

Záhlaví protokolu je běžné a skládá se z časového razítka (TimeGenerated), které ukazuje, kdy byla vytvořena položka. Obsahuje také ID prostředku (ResourceId), které odkazuje na konkrétní databázi, se kterou položka souvisí. Kategorie (Kategorie), úroveň (úroveň) a název operace (OperationName) jsou pevné vlastnosti, jejichž hodnoty se nemění. Označují, že položka protokolu je informativní a že pochází z Intelligent Insights (SQLInsights).

"TimeGenerated" : "2017-9-25 11:00:00", // time stamp of the log entry
"ResourceId" : "database identifier", // value points to a database resource
"Category": "SQLInsights", // fixed property
"Level" : "Informational", // fixed property
"OperationName" : "Insight", // fixed property

ID problému a ovlivněná databáze

Vlastnost identifikace problému (issueId_d) poskytuje způsob, jak jedinečně sledovat problémy s výkonem, dokud se nevyřeší. Několik záznamů událostí ve stavu generování sestav protokolu stejného problému bude sdílet stejné ID problému.

Společně s ID problému hlásí protokol diagnostiky časová razítka konkrétní události související s problémem hlášeným v diagnostickém protokolu (intervalStartTime_t) a koncové (intervalEndTme_t).

Vlastnost elastického fondu (elasticPoolName_s) označuje, do kterého elastického fondu databáze s problémem patří. Pokud databáze není součástí elastického fondu, tato vlastnost nemá žádnou hodnotu. Databáze, ve které byl zjištěn problém, je zpřístupněna ve vlastnosti název databáze (databaseName_s).

"intervalStartTime_t": "2017-9-25 11:00", // start of the issue reported time stamp
"intervalEndTme_t":"2017-9-25 12:00", // end of the issue reported time stamp
"elasticPoolName_s" : "", // resource elastic pool (if applicable)
"databaseName_s" : "db_name", // database name
"issueId_d" : 1525, // unique ID of the issue detected
"status_s" : "Active" // status of the issue – possible values: "Active", "Verifying", and "Complete"

Zjištěné problémy

Další část protokolu výkonu Intelligent Insights obsahuje problémy s výkonem, které byly zjištěny prostřednictvím integrované umělé inteligence. Detekce se zveřejňují ve vlastnostech v diagnostickém protokolu JSON. Tyto detekce se skládají z kategorie problému, dopadu problému, ovlivněných dotazů a metrik. Vlastnosti detekce můžou obsahovat několik zjištěných problémů s výkonem.

Zjištěné problémy s výkonem jsou hlášeny s následující strukturou vlastností detekce:

"detections_s" : [{
"impact" : 1 to 3, // impact of the issue detected, possible values 1-3 (1 low, 2 moderate, 3 high impact)
"category" : "Detectable performance pattern", // performance issue detected, see the table
"details": <Details outputted> // details of an issue (see the table)
}]

V následující tabulce jsou uvedeny zjistitelné vzory výkonu a podrobnosti, které se vypíše do diagnostického protokolu.

Kategorie detekce

Vlastnost category (category) popisuje kategorii zjistitelných vzorů výkonu. Všechny možné kategorie zjistitelných vzorů výkonu najdete v následující tabulce. Další informace najdete v tématu Řešení potíží s výkonem databáze pomocí Intelligent Insights.

V závislosti na zjištěném problému s výkonem se podrobnosti vypíše v souboru diagnostického protokolu odpovídajícím způsobem.

Rozpoznatelné vzory výkonu Výstup podrobností
Dosažení limitů prostředků
  • Ovlivněné prostředky
  • Hodnoty hash dotazů
  • Procento spotřeby prostředků
  • Zvýšení zatížení
  • Počet dotazů, jejichž provádění se zvýšilo
  • Dotazování hodnot hash dotazů s největším příspěvkem na zvýšení zatížení
  • Zatížení paměti
  • Pracovník paměti
  • Uzamčení
  • Ovlivněné hodnoty hash dotazů
  • Blokování hodnot hash dotazů
  • Zvýšená hodnota MAXDOP
  • Hodnoty hash dotazů
  • Doby čekání CXP
  • Doby čekání
  • Kolize pro stránkování
  • Hodnoty hash dotazů způsobující kolizí
  • Chybějící index
  • Hodnoty hash dotazů
  • Nový dotaz
  • Hodnota hash dotazu nových dotazů
  • Neobvyklá statistika čekání
  • Neobvyklé typy čekání
  • Hodnoty hash dotazů
  • Doby čekání dotazu
  • tempdb Tvrzení
  • Hodnoty hash dotazů způsobující kolizí
  • Přiřazení dotazu na celkovou kolizí kolizí stránky databáze [%]
  • Nedostatek DTU elastického fondu
  • Elastický fond
  • Databáze s nejvyšším využitím DTU
  • Procento DTU fondu používaného nejvyšším příjemcem
  • Regrese plánu
  • Hodnoty hash dotazů
  • ID dobrého plánu
  • ID chybný plán
  • Změna hodnoty konfigurace s vymezeným oborem databáze
  • Změny konfigurace v oboru databáze v porovnání s výchozími hodnotami
  • Pomalý klient
  • Hodnoty hash dotazů
  • Doby čekání
  • Downgrade cenové úrovně
  • Textové oznámení
  • Dopad

    Vlastnost impact (impact) popisuje, kolik zjištěného chování přispělo k problému, který má databáze. Dopad se pohybuje od 1 do 3, přičemž 3 je nejvyšší příspěvek, 2 jako střední a 1 jako nejnižší příspěvek. Hodnota dopadu se může použít jako vstup pro vlastní automatizaci upozorňování v závislosti na vašich konkrétních potřebách. Dotazy na vlastnost ovlivněné (QueryHashes) poskytují seznam hodnot hash dotazu, které byly ovlivněny konkrétní detekcí.

    Ovlivněné dotazy

    Další část protokolu Intelligent Insights obsahuje informace o konkrétních dotazech, které byly ovlivněny zjištěnými problémy s výkonem. Tyto informace jsou zpřístupněny jako pole objektů vložených do vlastnosti impact_s. Vlastnost impact se skládá z entit a metrik. Entity odkazují na konkrétní dotaz (typ: dotaz). Jedinečná hodnota hash dotazu je zpřístupněna pod vlastností value (Value). Za každým z dotazů, které byly zpřístupněny, následuje metrika a hodnota, která indikuje zjištěný problém s výkonem.

    V následujícím příkladu protokolu se zjistil dotaz s hodnotou hash 0x9102EXZ4, aby měl zvýšenou dobu trvání provádění (Metric: DurationIncreaseSeconds). Hodnota 110 sekund značí, že spuštění tohoto konkrétního dotazu trvalo 110 sekund déle. Vzhledem k tomu, že lze zjistit více dotazů, může tento konkrétní oddíl protokolu obsahovat více položek dotazu.

    "impact" : [{
    "entity" : {
    "Type" : "Query", // type of entity - query
    "Value" : "query hash value", // for example "0x9102EXZ4" query hash value },
    "Metric" : "DurationIncreaseSeconds", // measured metric and the measurement unit (in this case seconds)
    "Value" : 110 // value of the measured metric (in this case seconds)
    }]
    

    Metriky

    Jednotka měření pro každou hlášenou metriku je poskytována ve vlastnosti metriky (metriky) s možnými hodnotami sekund, čísla a procenta. Hodnota měřené metriky je hlášena ve vlastnosti value (value).

    DurationIncreaseSeconds vlastnost poskytuje měrnou jednotku v sekundách. Měrná jednotka CriticalErrorCount je číslo, které představuje počet chyb.

    "metric" : "DurationIncreaseSeconds", // issue metric type – possible values: DurationIncreaseSeconds, CriticalErrorCount, WaitingSeconds
    "value" : 102 // value of the measured metric (in this case seconds)
    

    Doporučení pro analýzu a vylepšení původní příčiny

    Poslední část protokolu výkonu Intelligent Insights se týká automatizované analýzy původní příčiny zjištěného problému se snížením výkonu. Informace se zobrazí ve vlastnosti analýzy původní příčiny (rootCauseAnalysis_s) popisné pro člověka. Pokud je to možné, doporučení ke zlepšení jsou zahrnutá v protokolu.

    // example of reported root cause analysis of the detected performance issue, in a human-readable format
    
    "rootCauseAnalysis_s" : "High data IO caused performance to degrade. It seems that this database is missing some indexes that could help."
    

    Protokol výkonu Intelligent Insights můžete použít s protokoly služby Azure Monitor nebo řešením třetí strany pro vlastní možnosti upozorňování a vytváření sestav DevOps.

    Další kroky