Halaman ini menjelaskan cara menggunakan Peristiwa yang Diperluas (XEvents) pada instance Anda.
Cloud SQL mendukung penggunaan XEvents untuk memantau, mengidentifikasi, dan memecahkan masalah performa database Anda. Untuk melakukannya, buat sesi XEvent dan baca file output XEvent. Anda dapat membaca file output XEvent baik pada instance maupun 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 besar antar-region, sebaiknya lakukan 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 retensinya, mungkin memerlukan kapasitas 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 pada instance Anda secara otomatis.
Menggunakan CREATE EVENT SESSION
untuk menentukan sesi XEvent baru. Anda juga dapat menggunakan
antarmuka pengguna dari
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 diawali 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 maksimum memori yang dialokasikan ke sesi untuk buffering peristiwa. | Minimum 4 MB
Maksimum 8 MB |
MAX_DISPATCH_LATENCY
|
Menentukan waktu maksimum (dalam detik) saat peristiwa dapat tetap berada 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 tanda kustom:
Parameter | Deskripsi |
cloud sql xe bucket name
|
Tentukan bucket Cloud Storage tempat Anda ingin mengupload output sesi XEvent. Jika hal ini tidak ditentukan, Cloud SQL tidak akan mengupload output sesi XEvent data Anda ke Cloud Storage. |
cloud sql xe output total disk size (mb)
|
Tentukan jumlah kapasitas disk yang akan dicadangkan untuk output semua sesi XEvent. Jika tidak ditentukan, Cloud SQL akan menggunakan kapasitas disk default sebesar 512 MB. Jika file {i>output<i} XEvent menggunakan ruang {i>disk<i} lebih dari nilai
cloud sql xe output total disk size (mb) , lalu Cloud SQL akan menghapus file ini dari disk.
|
cloud sql xe file retention (mins)
|
Tentukan waktu retensi pada instance dalam menit untuk file yang dibuat 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 mengetahui informasi selengkapnya tentang cara menyetel tanda ini, lihat Mengonfigurasi tanda 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 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
instance tersebut, seperti disk lokalnya. Berikutnya, untuk menampilkan informasi dari XEvent
file output, jalankan fungsi sys.fn_xe_file_target_read_file
dengan akun yang memiliki
Izin VIEW SERVER STATE
di server. Untuk informasi selengkapnya tentang izin, lihat
Izin.
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 menggunakan kapasitas disk yang lebih tinggi dari nilai yang terkait dengan
cloud sql xe output total disk size (mb)
. - File output XEvent 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 pada instance asli saat replika baca dibuat tersedia di replika baca. Perhatikan bahwa sesi XEvent pada replika baca harus dimulai secara manual, kecuali jika sesi XEvent dikonfigurasi untuk dimulai secara otomatis. Untuk informasi selengkapnya, lihat Cara membuat sesi XEvent.
- Jika Anda meng-clone instance utama, setiap tanda database yang muncul pada instance utama akan disebarkan ke instance yang di-clone. Selain itu, Anda harus memberikan izin ke akun layanan dari 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 disebarkan untuk membaca replika.
- Sesi XEvent yang dibuat pada instance asli tidak disebarkan ke replika baca.