Kueri SQL lambat dapat menurunkan stabilitas database secara signifikan. Saat terjadi masalah seperti beban kerja tinggi atau penurunan performa database, administrator database (DBA) atau pengembang biasanya memeriksa apakah log query lambat telah dihasilkan. Database Autonomy Service (DAS) menyediakan fitur analisis log untuk query lambat. DAS mengumpulkan statistik dan menganalisis pernyataan SQL yang durasi eksekusinya melebihi nilai ambang batas tertentu, serta memberikan solusi. Anda dapat dengan mudah menyelesaikan masalah kinerja database, meningkatkan keandalan dan stabilitas sistem.
Prasyarat
Mesin database adalah PolarDB for MySQL.
PolarDB for MySQL Enterprise Edition Edisi Node Tunggal tidak didukung.
Informasi latar belakang
Log query lambat dihasilkan oleh kernel database. Parameter dan ambang batas relevan bervariasi berdasarkan mesin database. Untuk informasi lebih lanjut, lihat dokumentasi resmi yang sesuai.
Prosedur
Masuk ke Konsol DAS.
Di bilah navigasi sisi kiri, pilih Intelligent O&M Center > Instance Monitoring.
Pada halaman yang muncul, temukan instance database yang ingin dikelola dan klik ID instance. Halaman detail instance akan ditampilkan.
Di bilah navigasi sisi kiri, pilih Request AnalysisSlow Logs.
Pada tab Slow Log Analysis, tentukan rentang waktu dan lihat Slow Query Log Trends, Event Distribution, Slow Query Log Statistics,, dan Slow Query Log Details dalam rentang waktu yang ditentukan.
CatatanSaat menentukan rentang waktu, waktu akhir harus lebih dari waktu mulai, dan interval antara waktu mulai dan waktu akhir tidak boleh melebihi 24 jam. Anda dapat menanyakan log query lambat dalam sebulan terakhir.
Pada bagian Slow Query Log Trends, Anda dapat mengklik titik waktu pada grafik tren dan melihat statistik serta detail log query lambat pada titik waktu tersebut.
CatatanJika konten pernyataan SQL tidak sepenuhnya ditampilkan karena batasan panjang GUI, Anda dapat mengarahkan pointer ke pernyataan SQL untuk melihat konten lengkapnya.
Pada bagian Event Distribution, lakukan operasi berikut:
Anda dapat menanyakan event log query lambat dalam rentang waktu yang ditentukan. Klik sebuah event untuk melihat detailnya.
Pilih node yang diinginkan dari daftar drop-down Node ID untuk melihat jumlah query lambat pada node tersebut.
Klik ikon
untuk mengunduh log query lambat ke komputer Anda.Klik
untuk memuat parameter yang dipilih dan dimasukkan ke konsol OpenAPI untuk debugging API.Pada tab Slow Query Log Statistics, lakukan operasi berikut:
Konfigurasikan kondisi filter di bagian atas daftar. Mesin database yang berbeda memiliki kondisi filter yang berbeda.
Klik ID SQL yang sesuai dengan template SQL yang ingin dikelola, untuk melihat distribusi pengguna, distribusi klien, dan korelasi tren metrik serta daftar rinci.
Klik Optimize di kolom Actions yang sesuai dengan template SQL. Di kotak dialog SQL Diagnostic Optimization, lihat hasil diagnosis SQL.
Jika Anda menerima saran optimasi SQL, klik Copy di pojok kanan atas dan tempel pernyataan SQL yang dioptimalkan ke klien database atau Data Management (DMS) untuk dieksekusi. Jika Anda tidak menerima saran optimasi SQL, klik Cancel.
CatatanDAS melakukan diagnosis SQL berdasarkan kompleksitas pernyataan SQL, jumlah data dalam tabel, dan beban database. Saran mungkin dikembalikan lebih dari 20 detik setelah diagnosis SQL dilakukan. Setelah diagnosis selesai, mesin diagnosis SQL memberikan hasil diagnosis, saran optimasi, dan manfaat optimasi yang diharapkan. Anda dapat menentukan apakah akan menerima saran berdasarkan hasil diagnosis.
Temukan template SQL yang ingin dikelola dan klik Throttling di kolom Actions. Di kotak dialog SQL Throttling, konfigurasikan parameter. Untuk informasi lebih lanjut, lihat SQL throttling.
Untuk kluster PolarDB for MySQL, temukan template SQL yang ingin dikelola dan klik IMCI di kolom Actions untuk melihat dokumentasi fitur Indeks Kolom dalam Memori (IMCI).
CatatanTombol IMCI ditampilkan di kolom Tindakan jika tidak ada node IMCI yang dibeli untuk kluster PolarDB for MySQL, durasi eksekusi maksimum template SQL melebihi 20 detik, dan jumlah baris maksimum yang dipindai oleh template SQL melebihi 200.000.
Kami merekomendasikan Anda menggunakan fitur IMCI untuk meningkatkan kinerja query ketika Anda membutuhkan query kompleks pada sejumlah besar data.
Pada tab Slow Query Log Details, temukan pernyataan SQL yang ingin dikelola dan klik Optimize atau Throttling di kolom Actions. Dengan cara ini, Anda juga dapat melakukan diagnosis SQL atau throttling SQL.
FAQ
T: Mengapa waktu penyelesaian eksekusi pernyataan SQL yang dicatat dalam log query lambat berbeda dengan waktu penyelesaian eksekusi sebenarnya dari pernyataan SQL?
J: Masalah ini biasanya terjadi ketika zona waktu yang dicatat dalam log query lambat dimodifikasi oleh pernyataan SQL yang dieksekusi. Waktu penyelesaian eksekusi pernyataan SQL bervariasi dengan zona waktu yang dicatat dalam log query lambat pada tingkat berikut: tingkat sesi, tingkat database, dan tingkat sistem. Jika zona waktu ditentukan untuk database, waktu penyelesaian eksekusi pernyataan SQL dicatat berdasarkan zona waktu database. Jika tidak, waktu penyelesaian eksekusi pernyataan SQL dicatat berdasarkan zona waktu sistem. Jika pernyataan SQL memodifikasi zona waktu pada tingkat sesi, zona waktu yang dicatat dalam log query lambat mungkin tidak dikonversi dengan benar.
Referensi
Anda dapat mengaktifkan fitur otonomi DAS. Dengan cara ini, ketika query SQL lambat terdeteksi pada instance database Anda, DAS secara otomatis mengoptimalkan query SQL lambat tersebut.