Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Acara yang Diperpanjang untuk SSAS

Cubes memerlukan pemantauan yang sering karena produktivitasnya sering menurun (perlambatan selama pembuatan kueri, peningkatan waktu pemrosesan). Untuk mengetahui penyebab penurunan, kita perlu memonitor sistem kita. Untuk ini, kami menggunakan SQL Server Profiler. Namun, Microsoft berencana untuk mengecualikan alat penelusuran SQL ini di versi berikutnya. Kerugian utama alat ini adalah intensitas sumber daya, dan harus dijalankan di server produksi dengan hati-hati, karena dapat menyebabkan hilangnya produktivitas sistem yang kritis.

Jadi, Extended Events adalah sistem penanganan event umum untuk sistem server. Sistem ini mendukung korelasi data dari SQL Server yang memungkinkan mendapatkan peristiwa status SQL Server.

Arsitektur sistem ditunjukkan di bawah ini:

Bahkan, kami memiliki paket yang berisi Peristiwa, Target, Tindakan, Jenis, Predikat, dan Peta. Sesi yang berisi Peristiwa, Target, Tindakan dijalankan di server. Saya tidak akan menjelaskan arsitektur secara detail karena bantuan berisi deskripsi eksplisit.

Sekarang, mari kembali ke SSAS kita. Untuk membuat semuanya lebih jelas, mari pertimbangkan beberapa skenario yang kita gunakan untuk analisis masalah.

Skenario pertama:Analisis pemrosesan kubus (Kubus multidimensi)

Sering terjadi ketika sebuah kubus diperbarui untuk waktu yang sangat lama selama pemrosesan, meskipun volume datanya cukup rendah. Untuk mengetahui alasannya, kita perlu memahami kueri apa atau tempat pemrosesan apa yang menyebabkan perlambatan. Tentu saja, kami dapat menjalankan pemrosesan di Produksi dan melihat apa yang terjadi, tetapi saya tidak yakin pengguna Anda akan menghargainya. Di sini Acara yang Diperpanjang datang untuk membantu. Mari jalankan sesi kita dan konfigurasikan penyimpanannya ke file.

Mari buka SSMS dan sambungkan ke SSAS, lalu beralih ke Manajemen.

Sekarang, mari buat sesi baru:

  • Pada tab Umum, tentukan nama untuk sesi kita dan muat template.
  • Acara tab menunjukkan peristiwa yang akan membantu kita menganalisis masalah. Tab ini menampilkan semua teman lama kami dari Profiler. Mari pilih peristiwa berikut untuk analisis pemrosesan:CommandBegin , CommandEnd, Prog essReportMulai dan ProgressReportEnd, ResourceUsage.

Perintah Mulai , CommandEnd akan menunjukkan awal dan akhir eksekusi perintah selama pemrosesan.

Prog essReportMulai dan ProgressReportEn memberikan informasi tambahan tentang panjang setiap peristiwa dan menampilkan data yang dibaca, eksekusi kueri SQL, panjang, dll.

Penggunaan Sumber Daya menunjukkan jumlah sumber daya yang dihabiskan untuk mengeksekusi kueri, suatu tindakan.

Saat kita memilih event, kita dapat beralih untuk mengonfigurasi setiap event dan menentukan event mana yang harus ditampilkan, dan event mana yang harus disembunyikan (misalnya, kita dapat menyembunyikan id proses).

  • Penyimpanan Data tab. Di sini kita dapat menentukan untuk menampilkan acara dalam mode waktu nyata atau menulisnya ke file:
    • file_acara – menyimpan acara ke file untuk analisis lebih lanjut. Tentukan ukuran file maksimum dan jalur tujuan. Jika ukuran file melebihi ukuran yang ditentukan, file baru akan dibuat. Selain itu, kita dapat menentukan jumlah file yang harus dibuat (jumlah file maksimum).
    • event_stream – memungkinkan melihat acara dalam mode waktu nyata.
    • ring_buffer – menentukan bahwa data sesi harus disimpan dalam memori selama server dijalankan. Jika memuat ulang, data akan dihapus.
  • Yang Lanjutan tab memungkinkan mengonfigurasi sumber daya (memori, prosesor) untuk sesi tertentu.

Terakhir, klik Oke dan dapatkan sesinya. Mari jalankan pemrosesan kubus dan lihat pemrosesan berdasarkan peristiwa. Beralih ke mode data langsung.

Di bagian atas tangkapan layar berikut, kita dapat melihat peristiwa yang terjadi saat ini dengan instance kita. Rincian acara ditampilkan di bagian bawah. Nilai detail acara apa pun dapat ditambahkan sebagai kolom terpisah di bagian atas. Klik kanan nilai yang dipilih dari detail acara dan lihat dalam tabel.

Hasilnya, kita mendapatkan tampilan berikut:

Oleh karena itu, Peristiwa yang Diperpanjang memungkinkan analisis pemrosesan kami dalam mode waktu nyata. Kita dapat memahami berapa banyak waktu yang dihabiskan untuk memproses setiap objek, berapa banyak sumber daya yang digunakan. Ini membantu untuk membuat kesimpulan dan menemukan titik lemah. Selain itu, kami tidak membebani sistem dan tidak kehilangan produktivitas.

Anda juga dapat membuat sesi melalui XMLA. Anda dapat mengambil skrip di GitHub.

Penghentian dan penghapusan sesi dimungkinkan melalui keduanya, SSMS dan XMLA.

  • Melalui SSMS (namun pada tahun 2016 terjadi kesalahan dan saya gagal menghapus sesi melalui antarmuka).
  • Skrip XML – dapat diunduh di sini.

Ini adalah bagian pertama dari artikel tentang Acara yang Diperpanjang untuk SSAS. Di bagian kedua, kami akan mempertimbangkan skenario analisis produktivitas kueri dalam bentuk kubus, bekerja dengan file jejak, dan menganalisis file melalui Power BI.

Saya juga merekomendasikan untuk melihat posting blog berikut:

  • Pinal Dave — SQL SERVER – SQL Profiler vs Acara yang Diperpanjang
  • Chris Web — Profiler, Acara yang Diperpanjang, dan Layanan Analisis. Meskipun penulis artikel menyatakan bahwa Profiler hampir tidak digunakan di server produksi, tetapi mengonfirmasi masalah dengan beban server.
  • Brent Ozar — Acara yang Diperpanjang SQL Server

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Migrasi Skema:Relasional dengan Bintang

  2. Apa Aliran Sekuensial vs. Paralel di Jawa?

  3. Model Basis Data untuk Sistem Pesan

  4. Membuat Kasus untuk BUKAN Pemicu – Bagian 1

  5. Hekaton dengan twist:TVP dalam memori – Bagian 3