Menganalisis performa database dengan Peristiwa yang Diperluas

Halaman ini menjelaskan cara menggunakan Peristiwa yang Diperluas (XEvents) di instance Anda.

Cloud SQL mendukung penggunaan XEvents untuk memantau, mengidentifikasi, dan memecahkan masalah performa database Anda. Untuk melakukannya, Anda membuat sesi XEvent dan membaca file output XEvent. Anda dapat membaca file output XEvent di instance atau dengan mendownload file XEvent dari bucket Cloud Storage.

Sebelum memulai

Jika Anda ingin mengupload file XEvent ke bucket Cloud Storage, buat bucket di akun Google Cloud Anda.

Praktik terbaik

  • Untuk menghindari transfer file berukuran besar di berbagai region, sebaiknya Anda melakukan salah satu hal berikut:
    • Membuat bucket Cloud Storage multi-regional
    • Menyiapkan bucket Cloud Storage tujuan di region yang sama dengan instance
  • Sebelum menggunakan XEvents, aktifkan peningkatan penyimpanan otomatis. File output XEvent, bergantung pada ukuran total dan interval retensi, mungkin memerlukan ruang disk yang signifikan.
  • Agar tidak menyimpan terlalu banyak file XEvent dalam waktu yang lama, siapkan kebijakan retensi data untuk bucket Cloud Storage Anda.
  • Jika Anda membuat sesi XEvent menggunakan UI SSMS, tetapi beberapa kotak untuk nilai input tidak muncul, ubah ukuran jendela Create XEvent Session.

Cara membuat sesi XEvent

XEvents diaktifkan secara otomatis di instance Anda.

Gunakan perintah CREATE EVENT SESSION untuk menentukan sesi XEvent baru. Anda juga dapat menggunakan antarmuka pengguna SQL Server Management Studio (SSMS) untuk membuat sesi XEvent.

Cloud SQL menerapkan parameter berikut untuk semua sesi XEvent:

Parameter Deskripsi Nilai yang diizinkan
FILENAME Menentukan nama file dan jalur untuk menyimpan data Sesi XEvents. Jalur apa pun yang dimulai dengan /var/opt/mssql/xevents/
MAX_FILE_SIZE Menentukan ukuran maksimum setiap file output sebelum file baru dibuat. Minimum 10 MB
Maksimum 1 GB
MAX_MEMORY Menentukan jumlah memori maksimum yang akan dialokasikan ke sesi untuk buffering peristiwa. Minimum 4 MB
Maksimum 8 MB
MAX_DISPATCH_LATENCY Menentukan waktu maksimum (dalam detik) yang dapat dipertahankan peristiwa dalam antrean pengiriman peristiwa sebelum dikirim ke target. Minimum 1 detik
Maksimum 30 detik
MAX_EVENT_SIZE Menetapkan ukuran maksimum setiap peristiwa, dalam byte. Minimum 4 MB
Maksimum 8 MB

Parameter konfigurasi sesi XEvent

Anda dapat mengonfigurasi sesi XEvent menggunakan parameter berikut sebagai flag kustom:

Parameter Deskripsi
cloud sql xe bucket name Tentukan bucket Cloud Storage tempat Anda ingin mengupload output sesi XEvent. Jika tidak ditentukan, Cloud SQL tidak akan mengupload data output sesi XEvent ke Cloud Storage.
cloud sql xe output total disk size (mb) Tentukan jumlah ruang disk yang akan dicadangkan untuk output semua sesi XEvent. Jika tidak ditentukan, Cloud SQL akan menggunakan ruang disk default sebesar 512 MB. Jika file output XEvent menggunakan ruang disk lebih dari nilai cloud sql xe output total disk size (mb), Cloud SQL akan menghapus file ini dari disk.
cloud sql xe file retention (mins) Tentukan waktu retensi pada instance dalam hitungan menit untuk file yang dihasilkan oleh target file sesi XEvent. Jika tidak ditentukan, Cloud SQL akan menggunakan nilai default 7 hari.
cloud sql xe upload interval (mins) Tentukan interval upload untuk file XEvent yang diupload ke Cloud Storage. Jika tidak ditentukan, Cloud SQL akan menggunakan nilai default 10 menit.

Untuk informasi selengkapnya tentang cara menyetel flag ini, lihat Mengonfigurasi flag database.

Cara membaca file output sesi XEvent

Anda dapat membaca file output sesi XEvent dari instance Cloud SQL atau bucket Cloud Storage.

Membaca file output XEvent dari instance

Untuk mengambil data dari file XEvent yang dibuat oleh sesi XEvent, gunakan fungsi sys.fn_xe_file_target_read_file.

Berikut contohnya:

SELECT * FROM sys.fn_xe_file_target_read_file('/var/opt/mssql/xevents/filename*, NULL, NULL, NULL);

Membaca file output XEvent dari bucket

Untuk membaca file output XEvent dari bucket Cloud Storage, download file dari bucket ke instance SQL Server. Anda dapat mendownload dari salah satu instance berikut:

  • Instance Compute Engine Windows
  • Instance Compute Engine Linux
  • Jenis instance lain yang menjalankan SQL Server

Kemudian, transfer file output XEvent dari bucket ke lokasi yang dapat diakses oleh instance tersebut, seperti disk lokalnya. Selanjutnya, untuk menampilkan informasi dari file output XEvent, jalankan fungsi sys.fn_xe_file_target_read_file dengan akun yang memiliki izin VIEW SERVER STATE di server. Untuk mengetahui informasi selengkapnya tentang izin, lihat Izin.

Metrik pemantauan

Anda dapat memantau operasi terkait xevent berikut sebagai bagian dari metrik Cloud SQL, yang tersedia melalui Metrics Explorer:

  • database/sqlserver/xevents_upload_count: menunjukkan total upaya upload file xevent yang berhasil dan gagal. Periksa metrik ini untuk memantau apakah upload Anda berhasil.
  • database/sqlserver/xevents_size.: menunjukkan jumlah ruang disk yang digunakan oleh file xevent yang disimpan di instance, dalam byte.

Memantau sesi XEvent

Anda dapat memantau aktivitas terkait sesi XEvent melalui file xevents.log untuk operasi berikut:

  • File output XEvent dihapus dari disk, yang tidak diupload ke Cloud Storage dan menempati ruang disk yang lebih tinggi dari nilai yang terkait dengan cloud sql xe output total disk size (mb).
  • File output XEvent yang dihapus dari disk, yang tidak diupload ke Cloud Storage dan lebih lama dari nilai yang terkait dengan cloud sql xe file retention.

Pertimbangan untuk replika baca

Bagian ini berisi informasi tentang sesi XEvent untuk replika baca baru dan yang sudah ada.

Untuk replika baca baru

  • Semua parameter konfigurasi sesi XEvent yang diteruskan melalui flag database pada instance asli tersedia di replika baca yang baru dibuat.
  • Semua sesi XEvent yang ada di instance asli saat replika baca dibuat tersedia di replika baca. Perhatikan bahwa sesi XEvent di replika baca harus dimulai secara manual, kecuali jika dikonfigurasi untuk dimulai secara otomatis. Untuk informasi selengkapnya, lihat Cara membuat sesi XEvent.
  • Jika Anda meng-clone instance utama, flag database apa pun yang muncul di instance utama akan diterapkan ke instance yang di-clone. Selain itu, Anda harus memberikan izin ke akun layanan instance yang di-clone untuk mengakses bucket Cloud Storage lagi.

Untuk replika baca yang ada

  • Parameter konfigurasi sesi XEvent yang diteruskan melalui flag database ke instance asli tidak di-propagate ke replika baca.
  • Sesi XEvent yang dibuat di instance asli tidak di-propagate ke replika baca.