Memantau tampilan materialisasi
Berlaku untuk: ✅Microsoft Fabric✅Azure Data Explorer
Pantau kesehatan tampilan material dengan cara berikut:
- Pantau metrik tampilan materialisasi di portal Microsoft Azure.
- Metrik
MaterializedViewAgeSeconds
usia tampilan materialisasi harus digunakan untuk memantau kesegaran tampilan. Metrik ini harus menjadi metrik utama untuk dipantau.
- Metrik
- Pantau properti
IsHealthy
yang dikembalikan dari.show materialized-view
. - Periksa kegagalan menggunakan
.show materialized-view failures
.
Catatan
Materialisasi tidak pernah melewatkan data apa pun, bahkan jika ada kegagalan konstan. Tampilan selalu dijamin untuk mengembalikan snapshot kueri terbaru, berdasarkan semua catatan di tabel sumber. Kegagalan konstan akan secara signifikan menurunkan performa kueri, tetapi tidak akan menyebabkan hasil yang salah dalam kueri tampilan.
Pemecahan masalah tampilan materialisasi yang tidak sehat
Metrik MaterializedViewHealth
menunjukkan apakah tampilan materialisasi itu sehat. Sebelum tampilan materialisasi menjadi tidak sehat, usianya, dicatat oleh MaterializedViewAgeSeconds
metrik, secara bertahap meningkat.
Pandangan yang terwujud dapat menjadi tidak sehat karena salah satu atau semua alasan berikut:
- Proses materialisasi gagal. Metrik MaterializedViewResult dan
.show materialized-view failures
perintah dapat membantu mengidentifikasi akar penyebab kegagalan. - Sistem mungkin telah secara otomatis menonaktifkan tampilan materialisasi, karena perubahan pada tabel sumber. Anda dapat memeriksa apakah tampilan dinonaktifkan dengan memeriksa kolom yang
IsEnabled
dikembalikan dari.show materialized-view
perintah. Lihat detail selengkapnya dalam batasan tampilan materialisasi dan masalah yang diketahui - Database tidak memiliki kapasitas yang memadai untuk mewujudkan semua data masuk tepat waktu. Dalam hal ini, mungkin tidak ada kegagalan dalam eksekusi. Namun, usia tampilan secara bertahap meningkat, karena tidak dapat mengikuti tingkat penyerapan. Mungkin ada beberapa akar penyebab situasi ini:
- Ada tampilan yang lebih terwujud dalam database, dan database tidak memiliki kapasitas yang memadai untuk menjalankan semua tampilan. Lihat kebijakan kapasitas tampilan terwujud untuk mengubah pengaturan default untuk jumlah tampilan materialisasi yang dijalankan secara bersamaan.
- Materialisasi lambat karena data yang baru diserap bersinggungan dengan sebagian besar tampilan dan ada banyak catatan untuk diperbarui di setiap siklus materialisasi. Untuk mempelajari selengkapnya tentang mengapa hal ini berdampak pada performa tampilan, lihat cara kerja tampilan materialisasi.
Metrik MaterializedViewResult
Metrik MaterializedViewResult
memberikan informasi tentang hasil siklus materialisasi, dan dapat digunakan untuk mengidentifikasi masalah dalam status kesehatan tampilan material. Metrik mencakup Database
dan MaterializedViewName
dan Result
dimensi.
Dimensi Result
bisa memiliki salah satu nilai berikut ini:
Success: Materialisasi selesai dengan sukses.
SourceTableNotFound: Tabel sumber dari tampilan materialisasi dijatuhkan. Tampilan materialisasi secara otomatis dinonaktifkan sebagai hasilnya.
SourceTableSchemaChange: Skema tabel sumber telah berubah dengan cara yang tidak kompatibel dengan definisi tampilan materialisasi (kueri tampilan materialisasi tidak cocok dengan skema tampilan materialisasi). Tampilan materialisasi secara otomatis dinonaktifkan sebagai hasilnya.
InsufficientCapacity: Database tidak memiliki kapasitas yang memadai untuk mewujudkan tampilan materialisasi. Ini dapat menunjukkan kapasitas penyerapan yang hilang atau kapasitas tampilan material yang hilang. Kegagalan kapasitas yang tidak memadai dapat bersifat sementara, tetapi jika kegagalan tersebut sering kali kami sarankan untuk menskalakan database atau meningkatkan kapasitas yang relevan dalam kebijakan.
InsufficientResources: Database tidak memiliki sumber daya yang memadai (CPU/memori) untuk mewujudkan tampilan materialisasi. Kegagalan ini mungkin bersifat sementara, tetapi jika digunakan kembali, coba tingkatkan atau keluarkan skala database.
- Jika proses materialisasi mencapai batas memori, batas grup beban kerja tampilan $materialized dapat ditingkatkan untuk mendukung lebih banyak memori atau CPU untuk proses materialisasi yang akan dikonsumsi.
Misalnya, perintah berikut akan mengubah grup beban kerja tampilan materialisasi untuk menggunakan maksimum memori 64 gigabyte (GB) per simpul selama materialisasi (nilai defaultnya adalah 15 GB):
.alter-merge workload_group ['$materialized-views'] ``` { "RequestLimitsPolicy": { "MaxMemoryPerQueryPerNode": { "Value": 68719241216 } } } ```
Catatan
MaxMemoryPerQueryPerNode tidak dapat diatur ke lebih dari 50% dari total memori setiap simpul.
Tampilan materialisasi dalam database pengikut
Tampilan materialisasi dapat didefinisikan dalam database pengikut. Namun, pemantauan tampilan materialisasi ini harus didasarkan pada database pemimpin, di mana tampilan materialisasi ditentukan. Khususnya:
- Metrik yang terkait dengan eksekusi tampilan terwujud (
MaterializedViewResult
,MaterializedViewExtentsRebuild
) hanya ada dalam database pemimpin. Metrik yang terkait dengan pemantauan (MaterializedViewAgeSeconds
,MaterializedViewHealth
,MaterializedViewRecordsInDelta
) juga akan muncul di database pengikut.
- Perintah .show materialized-view failures hanya berfungsi di database pemimpin.
Konsumsi sumber daya CPU
Konsumsi sumber daya pandangan materialisasi: sumber daya yang dikonsumsi oleh proses materialisasi pandangan materialisasi dapat dilacak menggunakan perintah .show commands-and-queries
. Filter catatan untuk tampilan tertentu menggunakan yang berikut (ganti DatabaseName
dan ViewName
):
.show commands-and-queries
| where Database == "DatabaseName" and ClientActivityId startswith "DN.MaterializedViews;ViewName;"