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 | |
Peningkatan beban kerja | |
Tekanan Memori | |
Penguncian | |
Peningkatan MAXDOP | |
Ketidakcocokan pagelatch | |
Indeks hilang | |
Kueri Baru | |
Statistik Tunggu yang Tidak Biasa | |
tempdb Pertentangan |
|
Kekurangan DTU kumpulan elastis | |
Regresi rencana | |
Perubahan Nilai Konfigurasi Cakupan Database | |
Klien lambat | |
Penurunan Tingkat Harga |
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
- Pelajari konsep Intelligent Insights.
- Pelajari cara Memecahkan Masalah Performa dengan Intelligent Insights.
- Pelajari cara Memantau masalah performa dengan menggunakan Azure SQL Analytics.
- Pelajari cara mengumpulkan dan mengkonsumsi data log dari sumber daya Azure Anda.