Log kueri lambat dapat berdampak signifikan terhadap stabilitas database. Saat database mengalami masalah seperti muatan tinggi atau fluktuasi kinerja, administrator basis data dan pengembang biasanya memeriksa log kueri lambat terlebih dahulu. Database Autonomy Service (DAS) menyediakan fitur Analisis Log Lambat yang mengumpulkan statistik dan menganalisis pernyataan SQL yang melebihi ambang batas waktu eksekusi tertentu. Fitur ini juga menawarkan solusi manajemen untuk membantu Anda mengidentifikasi dan menyelesaikan masalah kinerja database secara cepat, sehingga meningkatkan stabilitas dan keandalan sistem.
Pengenalan video
Prasyarat
Mesin database harus salah satu dari berikut ini:
ApsaraDB RDS for MySQL, PolarDB for MySQL, MyBase for MySQL, atau MySQL yang dikelola sendiri
ApsaraDB RDS for SQL Server atau MyBase for SQL Server
ApsaraDB RDS for PostgreSQL atau PolarDB for PostgreSQL
Tair (Redis OSS-compatible), atau Redis yang dikelola sendiri
PolarDB for PostgreSQL (Compatible with Oracle)
PolarDB-X 2.0
ApsaraDB for MongoDB atau MongoDB yang dikelola sendiri
PentingDetail log kueri lambat tersedia di semua wilayah. Statistik log kueri lambat real-time tersedia di wilayah-wilayah berikut: Daratan Tiongkok, Tiongkok (Hong Kong), Singapura, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Jepang (Tokyo), Jerman (Frankfurt), Inggris (London), AS (Silicon Valley), dan AS (Virginia).
Halaman Log Kueri Lambat versi baru tidak mendukung instans database yang dikelola sendiri.
Instans database target telah terhubung ke DAS. Untuk informasi selengkapnya, lihat Menghubungkan instans database ke DAS.
Informasi latar belakang
Log kueri lambat dihasilkan oleh kernel database. Parameter konfigurasi dan ambang batas untuk log kueri lambat bervariasi tergantung pada mesin database. Untuk informasi mengenai parameter dan ambang batas spesifik, lihat dokumentasi resmi mesin database Anda.
Melihat log kueri lambat dari satu instans
Topik ini menggunakan database ApsaraDB RDS for MySQL sebagai contoh untuk menjelaskan cara melihat log kueri lambat dari satu instans.
Masuk ke Konsol DAS.
Di panel navigasi sebelah kiri, klik Intelligent O&M Center > Instance Monitoring.
Temukan instans target, klik ID instans tersebut, lalu buka halaman detail instans.
Di panel navigasi sebelah kiri, pilih Request Analysis > Slow Logs.
Di tab Slow Log Analysis, Anda dapat memilih rentang waktu untuk melihat Slow Log Trend, Event Distribution, Slow Log Statistics, dan Slow Log Details.
CatatanSaat memilih rentang waktu, waktu akhir harus lebih lambat daripada waktu mulai. Rentang waktu maksimum adalah 7 hari. Anda dapat mengkueri informasi log kueri lambat yang dihasilkan dalam sebulan terakhir.
Di grafik Slow Log Trend, Anda dapat memilih titik waktu tertentu untuk melihat Slow Log Statistics dan Slow Log Details yang sesuai.
CatatanJika pernyataan SQL lambat terlalu panjang sehingga tidak dapat ditampilkan secara lengkap, arahkan pointer ke pernyataan tersebut. Pernyataan lengkap akan muncul dalam kotak dialog.
Klik
untuk menyimpan informasi log lambat secara lokal.Klik
untuk membuka OpenAPI Explorer dan melakukan debug API dengan parameter yang telah Anda pilih.Di bagian Event Distribution:
Anda dapat mengkueri event log lambat dalam rentang waktu yang ditentukan. Klik suatu event untuk melihat detailnya.
Di bagian Slow Log Statistics:
Di atas daftar, Anda dapat memilih kondisi penyaringan untuk menyaring data. Kondisi penyaringan yang tersedia bervariasi tergantung pada mesin database.
Klik ID templat SQL tertentu di kolom SQL ID untuk melihat korelasinya serta daftar detail seperti distribusi pengguna, distribusi klien, dan tren metrik.
Di kolom Actions untuk templat SQL target, klik Optimize. Di kotak dialog SQL Diagnostic Optimization, Anda dapat melihat hasil diagnosis SQL.
Untuk menerapkan saran optimasi, klik Copy di pojok kanan atas halaman, lalu tempel pernyataan SQL yang telah dioptimalkan ke klien database atau DMS untuk menjalankannya. Jika tidak, klik Cancel untuk mengakhiri diagnosis.
CatatanDAS mendiagnosis pernyataan SQL berdasarkan kompleksitasnya, volume data tabel terkait, dan muatan database. Diagnosis ini dapat memakan waktu lebih dari 20 detik untuk diselesaikan. Setelah diagnosis selesai, mesin diagnostik memberikan hasil diagnosis, saran optimasi, dan perkiraan peningkatan kinerja. Anda dapat memutuskan apakah akan menerima saran tersebut berdasarkan hasilnya.
Di kolom Actions untuk templat SQL target, klik Throttling. Di halaman SQL Throttling, konfigurasikan parameter pembatasan untuk pernyataan SQL tersebut. Untuk informasi selengkapnya, lihat SQL throttling.
Untuk instans database PolarDB for MySQL, klik IMCI di kolom Actions untuk templat SQL target guna melihat dokumentasi In-Memory Column Index (IMCI).
CatatanTombol IMCI ditampilkan untuk instans PolarDB for MySQL jika instans tersebut tidak memiliki node IMCI, Maximum Running Time log kueri lambatnya melebihi 20 detik, dan Max Scanned Rows melebihi 200.000.
Anda dapat menggunakan IMCI untuk meningkatkan kinerja kueri pada kueri kompleks dengan volume data besar.
Di bagian Slow Log Details, Anda juga dapat melakukan SQL Diagnostic Optimization dan SQL Throttling untuk pernyataan SQL target dengan mengklik Optimize dan Throttling di kolom Actions.
Lihat log kueri lambat global
Jika Anda memiliki beberapa instans database, Anda dapat membuka halaman Global Slow Log Trend. Halaman ini menampilkan tren keseluruhan log lambat untuk mesin database yang dipilih dan statistik log kueri lambat untuk 10 instans teratas.
Fitur tren log lambat global hanya tersedia untuk instans ApsaraDB RDS for MySQL, MyBase for MySQL, dan PolarDB for MySQL di wilayah Daratan Tiongkok.
Masuk ke Konsol DAS.
Di panel navigasi sebelah kiri, buka Intelligent O&M Center > Slow Logs untuk melihat Global Slow Log Trend dan Top Instance Statistics.
CatatanSaat memilih rentang waktu, waktu akhir harus lebih lambat daripada waktu mulai. Anda dapat mengkueri informasi log kueri lambat yang dihasilkan dalam 14 hari terakhir.
FAQ
T: Untuk instans ApsaraDB RDS for MySQL dan PolarDB for MySQL, mengapa waktu penyelesaian dalam log kueri lambat berbeda dengan waktu eksekusi aktual pernyataan SQL?
J: Masalah ini biasanya terjadi ketika zona waktu dimodifikasi oleh pernyataan SQL. Zona waktu untuk waktu eksekusi yang dicatat dalam log kueri lambat dapat berada pada tingkat sesi, database, atau sistem. Logika pengaturan waktu dalam log kueri lambat adalah sebagai berikut: Jika zona waktu database ditetapkan, maka zona waktu tersebut digunakan. Jika tidak, zona waktu sistem yang digunakan. Jika Anda memodifikasi zona waktu pada tingkat sesi menggunakan pernyataan SQL, zona waktu dalam catatan log kueri lambat mungkin tidak dikonversi dengan benar.
T: Mengapa saya dapat mengakses versi lama halaman Log Kueri Lambat tetapi mengalami kesalahan izin, seperti NoPermission atau Forbidden.RAM, saat mencoba mengakses versi baru?
J: Halaman Log Kueri Lambat versi baru dirancang ulang untuk menyediakan fitur penyaringan dan pemilihan data yang lebih kuat, sehingga kebijakan akses (aksi) yang dibutuhkan berbeda dari halaman lama. Jika Anda mengalami kesalahan izin, lihat Otorisasi pengguna RAM dan berikan izin berikut kepada Pengguna RAM:
Izin yang diperlukan: DescribeSlowLogHistogramAsync (data grafik tren log lambat), DescribeSlowLogStatistic (statistik templat log lambat), DescribeSlowLogRecords (detail log kueri lambat), GetInstanceEventWithGroupType (data Pusat Insiden), dan GetPerformanceMetrics (data tren kinerja).
Izin yang direkomendasikan: CreateSqlTag (untuk memberi tag pada pernyataan SQL) dan DescribeDasQueryTagNames (untuk mengambil tag SQL).
Referensi
Anda dapat mengaktifkan fitur manajemen otomatis DAS untuk secara otomatis mengoptimalkan pernyataan SQL lambat saat terdeteksi dalam instans database Anda.