Bagikan melalui


Gunakan log diagnostik performa Intelligent Insights dari Azure SQL Database dan masalah performa Azure SQL Managed Instance

Berlaku untuk: Azure SQL Database Azure SQL Managed Instance

Halaman ini menyediakan informasi tentang cara menggunakan log diagnostik performa yang dihasilkan oleh Intelligent Insights Azure SQL Database dan masalah performa Azure SQL Managed Instance, formatnya, dan data di dalamnya untuk kebutuhan pengembangan kustom Anda. Anda dapat mengirim log diagnostik ini ke log Azure Monitor, Azure Event Hubs, Azure Storage, atau solusi pihak ketiga untuk kemampuan pemberitahuan dan pelaporan DevOps kustom.

Catatan

Intelligent insights adalah fitur pratinjau, dan tidak tersedia di wilayah berikut: Eropa Barat, Eropa Utara, US Barat 1 dan US Timur 1.

Header log

Log diagnostik menggunakan format standar JSON untuk output Intelligent Insights. Properti kategori yang tepat untuk mengakses log Wawasan Cerdas adalah nilai tetap "SQLInsights", tidak terkait dengan Memantau Azure SQL Database dengan Wawasan SQL Azure Monitor (pratinjau).

Header log adalah umum dan terdiri dari stempel waktu (TimeGenerated) yang menunjukkan kapan entri dibuat. Ini juga termasuk ID sumber daya (ResourceId) yang mengacu pada database tertentu yang terkait dengan entri tersebut. Kategori (Kategori), tingkat (Tingkat), dan nama operasi (OperationName) adalah properti tetap yang nilainya tidak berubah. Mereka menunjukkan bahwa entri log berdasarkan informasi dan berasal dari 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 masalah dan database terpengaruh

Properti identifikasi masalah (issueId_d) menyediakan cara melacak masalah performa secara unik hingga terselesaikan. Beberapa rekaman kejadian dalam status pelaporan log dari masalah yang sama akan berbagi ID masalah yang sama.

Seiring dengan ID masalah, log diagnostik melaporkan stempel waktu mulai (intervalStartTime_t) dan akhir (intervalEndTme_t) dari kejadian tertentu yang terkait dengan masalah yang dilaporkan dalam log diagnostik.

Properti kumpulan elastis (elasticPoolName_s) menunjukkan kumpulan elastis mana milik database dengan masalah. Jika database bukan bagian dari kumpulan elastis, properti ini tidak memiliki nilai. Database tempat masalah terdeteksi diungkapkan di properti nama database (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"

Masalah yang terdeteksi

Bagian berikutnya dari log performa Intelligent Insights berisi masalah performa yang terdeteksi melalui kecerdasan buatan bawaan. Deteksi diungkapkan dalam properti di log diagnostik JSON. Deteksi ini terdiri dari kategori masalah, dampak masalah, kueri yang terpengaruh, dan metrik. Properti deteksi mungkin berisi beberapa masalah performa yang terdeteksi.

Masalah performa yang terdeteksi dilaporkan dengan struktur properti deteksi berikut:

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

Pola performa yang dapat dideteksi dan detail yang dihasilkan ke log diagnostik disediakan dalam tabel berikut.

Kategori deteksi

Properti kategori (kategori) menjelaskan kategori pola performa yang dapat dideteksi. Lihat tabel berikut untuk semua kemungkinan kategori pola performa yang dapat dideteksi. Untuk informasi selengkapnya, lihat Memecahkan masalah performa database dengan Intelligent Insights.

Tergantung pada masalah performa yang terdeteksi, detail yang dihasilkan dalam file log diagnostik berbeda-beda.

Pola performa yang dapat dideteksi Detail yang dihasilkan
Mencapai batas sumber daya
  • Sumber daya terpengaruh
  • Hash kueri
  • Persentase konsumsi sumber daya
  • Peningkatan beban kerja
  • Jumlah kueri yang eksekusinya meningkat
  • Kueri hash kueri dengan kontribusi terbesar untuk peningkatan beban kerja
  • Tekanan Memori
  • Memori clerk
  • Penguncian
  • Hash kueri yang terpengaruh
  • Pemblokiran hash kueri
  • Peningkatan MAXDOP
  • Hash kueri
  • Waktu tunggu CXP
  • Waktu tunggu
  • Ketidakcocokan pagelatch
  • Kueri hash kueri yang menyebabkan ketidakcocokan
  • Indeks hilang
  • Hash kueri
  • Kueri Baru
  • Hash kueri dari kueri baru
  • Statistik Tunggu yang Tidak Biasa
  • Jenis tunggu yang tidak biasa
  • Hash kueri
  • Waktu tunggu kueri
  • tempdb Pertentangan
  • Kueri hash kueri yang menyebabkan ketidakcocokan
  • Atribusi kueri ke waktu tunggu ketidakcocokan pagelatch database keseluruhan [%]
  • Kekurangan DTU kumpulan elastis
  • Kumpulan elastis
  • Database konsumsi DTU teratas
  • Persen kumpulan DTU yang digunakan oleh konsumen teratas
  • Regresi rencana
  • Hash kueri
  • ID rencana bagus
  • ID rencana buruk
  • Perubahan Nilai Konfigurasi Cakupan Database
  • Perubahan konfigurasi cakupan database dibandingkan dengan nilai default
  • Klien lambat
  • Hash kueri
  • Waktu tunggu
  • Penurunan Tingkat Harga
  • Pemberitahuan teks
  • Dampak

    Properti dampak (dampak) menjelaskan seberapa banyak perilaku yang terdeteksi berkontribusi pada masalah yang ditimbulkan oleh database. Dampaknya berkisar antara 1 hingga 3, dengan 3 sebagai kontribusi tertinggi, 2 sebagai menengah, dan 1 sebagai kontribusi terendah. Nilai dampak dapat digunakan sebagai input untuk otomatisasi pemberitahuan kustom, tergantung pada kebutuhan spesifik Anda. Kueri properti yang terkena dampak (QueryHashes) menyediakan daftar hash kueri yang dipengaruhi oleh deteksi tertentu.

    Kueri yang terpengaruh

    Bagian berikutnya dari log Intelligent Insights menyediakan informasi tentang kueri tertentu yang dipengaruhi oleh masalah performa yang terdeteksi. Informasi ini diungkapkan sebagai array objek yang disematkan di properti impact_s ini. Properti dampak terdiri dari entitas dan metrik. Entitas merujuk ke kueri tertentu (Jenis: Kueri). Hash kueri unik diungkapkan di bawah properti nilai (Value). Selain itu, setiap kueri yang diungkapkan diikuti oleh metrik dan nilai, menunjukkan masalah performa yang terdeteksi.

    Dalam contoh log berikut, kueri dengan hash 0x9102EXZ4 terdeteksi memiliki peningkatan durasi eksekusi (Metrik: DurationIncreaseSeconds). Nilai 110 detik menunjukkan bahwa kueri khusus ini membutuhkan waktu 110 detik lebih lama untuk dijalankan. Karena beberapa kueri dapat dideteksi, bagian log khusus ini mungkin menyertakan beberapa entri kueri.

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

    Metrik

    Satuan pengukuran untuk setiap metrik yang dilaporkan disediakan di bawah properti metrik (metrik) dengan kemungkinan nilai detik, angka, dan persentase. Nilai metrik yang diukur dilaporkan dalam properti nilai (value).

    Properti DurationIncreaseSeconds menyediakan satuan pengukuran dalam hitungan detik. Unit pengukuran CriticalErrorCount adalah angka yang menunjukkan jumlah kesalahan.

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

    Analisis akar penyebab dan rekomendasi perbaikan

    Bagian terakhir dari log performa Intelligent Insights berkaitan dengan analisis akar penyebab otomatis dari masalah penurunan kinerja yang diidentifikasi. Informasi tersebut muncul dalam verbiage ramah manusia di properti analisis akar penyebab (rootCauseAnalysis_s). Rekomendasi peningkatan disertakan dalam log jika memungkinkan.

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

    Anda dapat menggunakan log performa Intelligent Insights dengan log Azure Monitor atau solusi pihak ketiga untuk kemampuan pemberitahuan dan pelaporan DevOps kustom.

    Langkah berikutnya