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.