Memantau tampilan materialisasi
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 - Kluster tidak memiliki kapasitas yang cukup untuk mewujudkan semua data yang 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 untuk situasi ini:
- Ada tampilan yang lebih terwujud dalam kluster, dan kluster 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 ada terlalu banyak catatan untuk diperbarui di setiap siklus materialisasi. Untuk mempelajari selengkapnya tentang mengapa hal ini berdampak pada performa tampilan, lihat cara kerja tampilan materialisasi. Jumlah jangkauan yang memerlukan pembaruan di setiap siklus disediakan dalam
MaterializedViewExtentsRebuild
metrik.
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: Kluster tidak memiliki kapasitas yang cukup 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 mereka sering kali kami sarankan untuk meluaskan skala kluster atau meningkatkan kapasitas yang relevan dalam kebijakan.
InsufficientResources: Kluster tidak memiliki sumber daya yang memadai (CPU/memori) untuk mewujudkan tampilan yang terwujud. Kegagalan ini mungkin sementara, tetapi jika menempati kembali, coba tingkatkan atau keluarkan skala kluster.
- Jika proses materialisasi mencapai batas memori, batas grup beban kerja tampilan $materialized dapat ditingkatkan untuk mendukung lebih banyak memori atau CPU agar proses materialisasi dapat dikonsumsi.
Misalnya, perintah berikut akan mengubah grup beban kerja tampilan materialisasi untuk menggunakan maksimal 64 gigabyte (GB) memori 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 terwujud ditentukan. Khususnya:
- Metrik yang terkait dengan eksekusi tampilan materialisasi (
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;"
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk