Korzystanie z dziennika diagnostyki wydajności usługi Intelligent Insights problemów z wydajnością usług Azure SQL Database i Azure SQL Managed Instance

Dotyczy: Azure SQL DatabaseAzure SQL Managed Instance

Ta strona zawiera informacje na temat używania dziennika diagnostyki wydajności wygenerowanego przez usługę Intelligent Insights problemów z wydajnością usługi Azure SQL Database i usługi Azure SQL Managed Instance, jego formatu i danych, które zawiera w ramach niestandardowych potrzeb programistycznych. Ten dziennik diagnostyczny można wysłać do dzienników usługi Azure Monitor, usługi Azure Event Hubs, usługi Azure Storage lub rozwiązania innej firmy w celu uzyskania niestandardowych możliwości alertów i raportowania usługi DevOps.

Uwaga

Inteligentne szczegółowe informacje to funkcja w wersji zapoznawczej, niedostępna w następujących regionach: Europa Zachodnia, Europa Północna, Zachodnie stany USA 1 i Wschodnie stany USA 1.

Nagłówek dziennika

Dziennik diagnostyczny używa standardowego formatu JSON do wyprowadzania wyników funkcji Intelligent Insights. Dokładna właściwość kategorii na potrzeby uzyskiwania dostępu do dziennika usługi Intelligent Insights to stała wartość "SQLInsights", niepowiązana z monitorowaniem usługi Azure SQL Database za pomocą usługi Azure Monitor SQL Insights (wersja zapoznawcza).

Nagłówek dziennika jest wspólny i składa się z sygnatury czasowej (TimeGenerated), która pokazuje, kiedy wpis został utworzony. Zawiera również identyfikator zasobu (ResourceId), który odwołuje się do konkretnej bazy danych, z którą odnosi się wpis. Kategoria (Kategoria), poziom (poziom) i nazwa operacji (OperationName) są stałymi właściwościami, których wartości nie zmieniają się. Wskazują one, że wpis dziennika jest informacyjny i pochodzi z usługi 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

Identyfikator problemu i baza danych, których dotyczy problem

Właściwość identyfikacji problemu (issueId_d) umożliwia unikatowe śledzenie problemów z wydajnością do momentu rozwiązania problemu. Wiele rekordów zdarzeń w stanie raportowania dziennika tego samego problemu będzie współużytkować ten sam identyfikator problemu.

Wraz z identyfikatorem problemu dziennik diagnostyki zgłasza znaczniki czasowe rozpoczęcia (intervalStartTime_t) i zakończenia (intervalEndTme_t) określonego zdarzenia związanego z problemem zgłoszonym w dzienniku diagnostycznym.

Właściwość elastycznej puli (elasticPoolName_s) wskazuje, do której elastycznej puli należy baza danych z problemem. Jeśli baza danych nie jest częścią puli elastycznej, ta właściwość nie ma wartości. Baza danych, w której wykryto problem, jest ujawniana we właściwości nazwa bazy danych (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"

Wykryte problemy

W następnej sekcji dziennika wydajności funkcji Intelligent Insights znajdują się problemy z wydajnością wykryte za pomocą wbudowanej sztucznej inteligencji. Wykrycia są ujawniane we właściwościach w dzienniku diagnostycznym JSON. Te wykrycia składają się z kategorii problemu, wpływu problemu, zapytań, których dotyczy problem, i metryk. Właściwości wykrywania mogą zawierać wiele wykrytych problemów z wydajnością.

Wykryte problemy z wydajnością są zgłaszane z następującą strukturą właściwości wykrywania:

"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)
}]

Wykrywalne wzorce wydajności i szczegółowe informacje wyjściowe w dzienniku diagnostycznym znajdują się w poniższej tabeli.

Kategoria wykrywania

Właściwość category (category) opisuje kategorię wykrywalnych wzorców wydajności. Poniższa tabela zawiera wszystkie możliwe kategorie wykrywalnych wzorców wydajności. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z wydajnością bazy danych w usłudze Intelligent Insights.

W zależności od wykrytego problemu z wydajnością szczegóły wyjściowe w pliku dziennika diagnostyki różnią się odpowiednio.

Wykrywalne wzorce wydajności Szczegóły wyjściowe
Osiąganie limitów zasobów
  • Zasoby, których dotyczy problem
  • Skróty zapytań
  • Procent użycia zasobów
  • Zwiększanie obciążenia
  • Liczba zapytań, których wykonywanie zwiększyło się
  • Skróty zapytań z największym udziałem w obciążeniu
  • Wykorzystanie pamięci
  • Urzędnik pamięci
  • Blokowanie
  • Skróty zapytań, których dotyczy problem
  • Blokowanie skrótów zapytania
  • Zwiększona wartość MAXDOP
  • Skróty zapytań
  • Czas oczekiwania CXP
  • Czasy oczekiwania
  • Rywalizacja o strony
  • Skróty zapytań powodujące rywalizację
  • Brak indeksu
  • Skróty zapytań
  • Nowe zapytanie
  • Skrót zapytań dla nowych zapytań
  • Statystyka nietypowego oczekiwania
  • Nietypowe typy oczekiwania
  • Skróty zapytań
  • Czasy oczekiwania zapytań
  • tempdb Rywalizacji
  • Skróty zapytań powodujące rywalizację
  • Wykonywanie zapytań o przypisanie do ogólnego czasu oczekiwania na stronę bazy danych [%]
  • Niedobór jednostek DTU puli elastycznej
  • Elastyczna pula
  • Górna baza danych zużywana przez jednostki DTU
  • Procent jednostek DTU puli używanych przez najwyższego konsumenta
  • Regresja planu
  • Skróty zapytań
  • Identyfikatory dobrego planu
  • Nieprawidłowe identyfikatory planów
  • Zmiana wartości konfiguracji w zakresie bazy danych
  • Zmiany konfiguracji w zakresie bazy danych w porównaniu z wartościami domyślnymi
  • Powolny klient
  • Skróty zapytań
  • Czasy oczekiwania
  • Obniżanie warstwy cenowej
  • Powiadomienie tekstowe
  • Wpływ

    Właściwość impact (impact) opisuje, ile wykryte zachowanie przyczyniło się do problemu, jaki ma baza danych. Wpływ waha się od 1 do 3, z 3 jako najwyższy wkład, 2 jako umiarkowany i 1 jako najniższy wkład. Wartość wpływu może być używana jako dane wejściowe dla niestandardowej automatyzacji alertów, w zależności od konkretnych potrzeb. Zapytania dotyczące właściwości (QueryHashes) zawierają listę skrótów zapytania, których dotyczy określone wykrywanie.

    Zapytania, których to dotyczy

    W następnej sekcji dziennika usługi Intelligent Insights znajdują się informacje o konkretnych zapytaniach, których dotyczyły wykryte problemy z wydajnością. Te informacje są ujawniane jako tablica obiektów osadzonych we właściwości impact_s. Właściwość impact składa się z jednostek i metryk. Jednostki odwołują się do określonego zapytania (typ: zapytanie). Unikatowy skrót zapytania jest ujawniany w ramach właściwości value (Value). Ponadto po każdej ujawnionej zapytaniu następuje metryka i wartość wskazująca wykryty problem z wydajnością.

    W poniższym przykładzie dziennika wykryto, że zapytanie o skrót 0x9102EXZ4 miało zwiększony czas wykonywania (Metryka: DurationIncreaseSeconds). Wartość 110 sekund wskazuje, że wykonanie tego konkretnego zapytania trwało 110 sekund. Ponieważ można wykryć wiele zapytań, ta konkretna sekcja dziennika może zawierać wiele wpisów zapytania.

    "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)
    }]
    

    Metryki

    Jednostka miary dla każdej zgłoszonej metryki jest udostępniana we właściwości metryki (metryki) z możliwymi wartościami sekund, liczbą i wartościami procentowymi. Wartość mierzonej metryki jest zgłaszana we właściwości value (value).

    Właściwość DurationIncreaseSeconds udostępnia jednostkę miary w sekundach. Jednostka CriticalErrorCount miary to liczba reprezentująca liczbę błędów.

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

    Zalecenia dotyczące analizy głównej przyczyny i ulepszania

    Ostatnia część dziennika wydajności usługi Intelligent Insights dotyczy zautomatyzowanej analizy głównej przyczyny zidentyfikowanego problemu z obniżeniem wydajności. Informacje są wyświetlane we właściwości analizy głównej przyczyny (rootCauseAnalysis_s). Zalecenia dotyczące poprawy są uwzględniane w dzienniku, jeśli jest to możliwe.

    // 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."
    

    Dziennik wydajności usługi Intelligent Insights można używać z dziennikami usługi Azure Monitor lub rozwiązaniem innej firmy na potrzeby niestandardowych funkcji alertów i raportowania metodyki DevOps.

    Następne kroki