All Products
Search
Document Center

Database Autonomy Service:Log kueri lambat

Last Updated:Jul 07, 2026

Topik ini menjelaskan cara menggunakan fitur analisis log lambat global di Database Autonomy Service (DAS). Anda dapat membuat dan mengelola kelompok pengguna untuk memantau serta menganalisis beberapa instans database secara terpusat. Fitur ini membantu Anda menemukan, mendiagnosis, dan mengelola pernyataan SQL lambat secara efisien, menangani masalah seperti muatan database tinggi dan fluktuasi performa, serta memastikan stabilitas bisnis inti Anda.

Konsep inti: Kelompok pengguna

Kelompok pengguna merupakan komponen inti dari fitur analisis log lambat. Kelompok pengguna berfungsi sebagai dasbor pemantauan instans yang dapat dikustomisasi. Anda dapat membuat kelompok pengguna untuk melakukan operasi berikut:

  • Pengelompokan logis: Kelompokkan instans database dari berbagai lini bisnis agar lebih mudah dikelola. Setiap kelompok pengguna dapat berisi hingga 10 instans.

  • Tampilan terpadu: Lihat tren log lambat, distribusi event, dan statistik SQL untuk semua instans dalam satu kelompok dari satu halaman.

  • Peralihan efisien: Beralih dengan cepat antar area fokus bisnis yang berbeda tanpa harus memilih instans berulang kali.

Catatan

DAS membuat kelompok sistem default bernama Top Slow Log Group. Setiap jam, DAS secara otomatis memilih lima instans teratas di bawah akun Anda yang memiliki aktivitas anomali paling signifikan dan jumlah log kueri lambat tertinggi dalam 24 jam terakhir. Instans-instans tersebut ditambahkan ke kelompok ini untuk membantu Anda segera menemukan dan menyelesaikan masalah kritis.

Prasyarat

  • Engine database yang didukung: Instans database Anda harus menggunakan salah satu tipe engine berikut:

    • Database relasional:

      • RDS MySQL, PolarDB for MySQL, MyBase MySQL

      • RDS SQL Server, MyBase SQL Server

      • RDS PostgreSQL, PolarDB for PostgreSQL, PolarDB for PostgreSQL (Compatible with Oracle)

      • PolarDB-X 2.0

    • Database NoSQL:

      • Tair (Redis-compatible), MyBase Redis

      • ApsaraDB for MongoDB

  • Akses instans: Instans database target harus terhubung ke DAS. Untuk informasi selengkapnya, lihat Connect to a database instance.

  • Dukungan wilayah:

    • Detail log kueri lambat: Fitur ini didukung di semua wilayah.

    • Statistik log kueri lambat real-time: Fitur ini didukung di wilayah Tiongkok daratan, Hong Kong (Tiongkok), Singapura, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Jepang (Tokyo), Jerman (Frankfurt), Inggris (London), AS (Silicon Valley), dan AS (Virginia).

  • Database yang dikelola sendiri: Halaman analisis log lambat tidak mendukung instans database yang dikelola sendiri.

  • Ambang batas log kueri lambat: Kernel database mengontrol pencatatan log kueri lambat. DAS bertanggung jawab atas analisis dan tidak menetapkan ambang batas. Untuk mengonfigurasi ambang batas log kueri lambat, seperti parameter long_query_time untuk MySQL, Anda harus login ke instans database tertentu.

Prosedur

Masuk ke halaman log lambat global

  1. Login ke DAS console.

  2. Pada panel navigasi di sebelah kiri, pilih Intelligent O&M Center > Slow Logs.

  3. Opsional: Klik tombol Back to Old Version di pojok kanan atas untuk beralih ke tampilan lama. Untuk informasi selengkapnya, lihat Slow query logs (Old version).

Mengelola dan beralih kelompok pengguna

  1. Beralih kelompok pengguna: Pada daftar drop-down di pojok kiri atas halaman, pilih kelompok pengguna untuk mengganti tampilan analisis.

  2. Buat kelompok pengguna: Klik tombol Add new user group. Pada kotak dialog yang muncul, masukkan nama untuk kelompok pengguna tersebut lalu klik Confirm.

  3. Kelola kelompok pengguna:

    • Edit atau hapus kelompok: Pada panel kelompok pengguna, klik ikon aksi di samping nama kelompok pengguna untuk mengganti nama atau menghapus kelompok tersebut.

    • Tambahkan instans: Setelah memilih kelompok pengguna target, klik tombol Add more instances di bawah panel. Pada kotak dialog yang muncul:

      • Pada daftar Available Instances, klik instans untuk menambahkannya ke kelompok pengguna saat ini.

      • Pada daftar Selected instances, klik instans yang telah dipilih untuk menghapusnya dari kelompok pengguna saat ini.

    • Hapus instans: Pada daftar instans kelompok pengguna saat ini, klik ikon × pada kartu instans untuk menghapus instans tersebut.

    • Sembunyikan instans: Pada daftar instans kelompok pengguna saat ini, klik ikon image pada kartu instans untuk menyembunyikan instans dari tampilan. Informasi log kueri lambat instans tersebut, termasuk tren, event, dan daftar log kueri lambat, tidak akan ditampilkan lagi. Klik ikon tersebut sekali lagi untuk menampilkan kembali instans dan memulihkan informasinya.

    • Simpan kelompok pengguna sebagai: Klik tombol Save as untuk membuat kelompok pengguna baru berdasarkan konfigurasi instans kelompok saat ini.

    • Izin instans: Kartu instans yang disorot biru menunjukkan bahwa Anda memiliki izin untuk instans tersebut. Instans yang tidak memiliki izin disorot kuning. Anda hanya dapat melihat ID-nya, bukan data spesifiknya. Anda dapat membuat kelompok pengguna kustom dan mengecualikan instans yang tidak memiliki izin untuk memastikan kelompok hanya berisi instans yang dapat diakses.

Menganalisis tren dan event

  1. Slow Query Log Trends: Setelah memilih rentang waktu, grafik tren di bagian atas menampilkan jumlah total dan tren log kueri lambat untuk semua instans dalam kelompok pengguna saat ini. Hal ini membantu Anda segera mengidentifikasi kapan fluktuasi performa terjadi.

  2. Event Distribution: Di bawah grafik tren, event database utama yang terjadi dalam rentang waktu yang ditentukan akan ditampilkan. Event tersebut mencakup:

    • Optimization Events: Event di mana analisis optimasi SQL dilakukan atau saran optimasi dihasilkan.

    • Security Events: Event seperti serangan SQL atau kerentanan konfigurasi yang menimbulkan risiko keamanan menengah hingga tinggi.

    • Throttling Event: Event di mana tindakan pembatasan SQL atau pembatasan SQL otomatis terjadi.

    • Automatic Scaling Events: Event di mana tindakan skala keluar atau skala-masuk otomatis terjadi.

Menemukan dan mendiagnosis pernyataan SQL lambat

Slow log list di bagian bawah halaman merupakan area analisis utama. Area ini mengumpulkan informasi log kueri lambat untuk semua instans dalam kelompok pengguna saat ini.

  1. Statistik global: Secara default, daftar ini mengumpulkan semua pernyataan SQL lambat dan menampilkan jumlah eksekusi, durasi eksekusi maksimum, waktu tunggu lock maksimum, baris yang dipindai maksimum, baris yang dikembalikan maksimum, dan waktu CPU maksimum untuk setiap pernyataan.

  2. Analisis detail instans tunggal: Klik panah image di samping Instance ID/Name untuk melakukan analisis detail log kueri lambat untuk instans tertentu.

  3. Pada informasi log kueri lambat untuk instans tersebut, Anda dapat melihat Slow Log Trend, Event Distribution, Slow Log Statistics, dan Slow Log Details.

    • Pada grafik Slow Log Trend, Anda dapat memilih titik waktu untuk melihat Slow Log Statistics dan Slow Log Details untuk waktu tersebut.

      Catatan

      Jika pernyataan SQL lambat terlalu panjang sehingga tidak dapat ditampilkan sepenuhnya, Anda dapat mengarahkan pointer mouse ke pernyataan tersebut untuk melihat pernyataan SQL lengkap dalam kotak pop-up.

    • Pada tab Slow Query Log Statistics dan Slow Query Log Details, Anda dapat mengklik image untuk menyimpan informasi log kueri lambat ke komputer Anda.

    • Anda dapat mengklik image untuk membuka konsol OpenAPI Explorer. Parameter yang dipilih dan dimasukkan saat ini akan dibawa secara otomatis untuk debugging API.

    • Pada area Event Distribution, Anda dapat mencari event log lambat dalam rentang waktu tertentu. Klik event untuk melihat detailnya.

    • Pada area Slow Log Statistics:

      • Di atas daftar, Anda dapat memilih kondisi filter untuk menyaring data. Kondisi filter yang tersedia bervariasi tergantung pada engine database.

      • Klik ID data pada kolom Query ID templat SQL target untuk melihat korelasi dan daftar detail yang mencakup distribusi pengguna, distribusi client, dan tren metrik.

      • Pada kolom Actions templat SQL target, klik Optimize. Pada kotak dialog SQL Diagnostic Optimization yang muncul, lihat hasil diagnosis SQL.

        Jika Anda menerima saran diagnosis, klik Copy di pojok kanan atas halaman lalu tempel pernyataan SQL yang dioptimalkan ke client database atau DMS Anda untuk dieksekusi. Jika Anda tidak menerima saran tersebut, klik Cancel untuk mengakhiri diagnosis.

        Catatan

        DAS melakukan diagnosis SQL berdasarkan kompleksitas pernyataan SQL, volume data tabel terkait, dan muatan database. Saran diagnosis mungkin memerlukan waktu lebih dari 20 detik untuk dikembalikan. Setelah diagnosis selesai, mesin diagnostik memberikan hasil diagnosis, saran optimasi, dan manfaat optimasi yang diharapkan. Anda dapat memutuskan apakah akan menerima saran tersebut berdasarkan hasil diagnosis.

      • Pada kolom Actions templat SQL target, klik Throttling. Pada halaman SQL Throttling, konfigurasikan parameter pembatasan untuk menerapkan pembatasan laju pada pernyataan SQL target. Untuk informasi selengkapnya, lihat SQL throttling.

      • Untuk instans database PolarDB for MySQL, pada kolom Actions templat SQL target, klik IMCI untuk melihat dokumentasi Indeks Kolom dalam Memori (IMCI).

        Catatan
        • Tombol IMCI ditampilkan jika instans database PolarDB for MySQL tidak memiliki node Indeks Kolom dalam Memori, Max Execution Time log kueri lambat melebihi 20 detik, dan Max Scanned Rows melebihi 200.000.

        • Untuk kueri kompleks dengan volume data besar, Anda dapat menggunakan Indeks Kolom dalam Memori (IMCI) untuk meningkatkan performa kueri.

    • Pada area Slow Log Details, Anda juga dapat mengklik Optimize dan Throttling pada kolom Actions untuk pernyataan SQL target guna melakukan SQL Diagnostic Optimization dan SQL Throttling.

FAQ

  • Q: Mengapa saya tidak melihat data log kueri lambat apa pun?

    A: Hal ini mungkin karena teknik komputasi real-time dan agregasi jendela digunakan, yang menyebabkan statistik log kueri lambat terbaru ditampilkan dengan penundaan sekitar 3 menit. Anda juga dapat memeriksa hal berikut:

    • Konfirmasi bahwa fitur log kueri lambat diaktifkan untuk instans database dan ambang batasnya diatur ke nilai yang wajar.

    • Konfirmasi bahwa log kueri lambat dihasilkan dalam rentang waktu yang dipilih.

    • Konfirmasi bahwa akun saat ini memiliki izin akses DAS untuk instans target.

  • Q: Apa yang harus saya lakukan jika RAM user tidak memiliki izin untuk melihat atau mengelola kelompok pengguna?

    A: Administrator harus memberikan izin aksi tingkat akun kepada RAM user tersebut. Otorisasi ini hanya memengaruhi izin untuk mengoperasikan kelompok log lambat global dan tidak mengubah izin data RAM user tersebut untuk instans lainnya.

    • Kebijakan administrator kelompok global: Misalnya, DASGlobalGroupAdmin. Kebijakan ini memungkinkan pengguna membuat, menghapus, memodifikasi, dan mengkueri kelompok global.

      {
        "Version": "1",
        "Statement": [
          {
            "Action": [
              "hdm:DescribeGlobalGroups",
              "hdm:CreateGlobalGroup",
              "hdm:DeleteGlobalGroup",
              "hdm:ModifyGlobalGroup"
            ],
            "Resource": "*",
            "Effect": "Allow"
          }
        ]
      }
    • Kebijakan hanya-baca kelompok global: Misalnya, DASGlobalGroupReadOnly. Kebijakan ini hanya memungkinkan pengguna melihat kelompok global.

      {
        "Version": "1",
        "Statement": [
          {
            "Action": "hdm:DescribeGlobalGroups",
            "Resource": "*",
            "Effect": "Allow"
          }
        ]
      }
  • Q: Mengapa beberapa instans disorot kuning, yang menunjukkan bahwa pengguna saat ini tidak memiliki izin akses?

    A: Sorotan kuning menunjukkan bahwa RAM user tidak memiliki izin akses data untuk instans tersebut. Anda dapat menyelesaikan masalah ini dengan salah satu dari dua cara berikut:

    • Hubungi administrator: Minta administrator untuk memberikan izin akses instans kepada RAM user tersebut.

    • Berikan izin kelompok global: Berikan izin DASGlobalGroupAdmin kepada RAM user tersebut. Hal ini memungkinkan RAM user membuat kelompok pengguna dan melihat data untuk instans yang memiliki izin akses secara batch.

  • Q: Mengapa jumlah baris yang dikembalikan (Rows_sent) dalam log kueri lambat adalah 0, meskipun kueri tersebut sebenarnya mengembalikan data?

    A: Hal ini biasanya karena aplikasi menggunakan mode kursor sisi server. Dalam mode kursor, eksekusi pernyataan SQL dibagi menjadi dua tahap:

    • Tahap EXECUTE: Server mengeksekusi kueri dan menghasilkan set hasil tetapi tidak langsung mengirim baris data ke client. Server hanya mengembalikan metadata, seperti definisi kolom.

    • Tahap FETCH: Client menarik baris data secara batch menggunakan perintah FETCH.

    Log kueri lambat mencatat statistik dari tahap EXECUTE. Pada tahap ini, MySQL telah memindai data (sehingga Rows_examined tidak 0), tetapi belum mengirim baris data apa pun ke client (data dikirim pada tahap FETCH berikutnya). Oleh karena itu, Rows_sent dicatat sebagai 0.

    Skenario umum:

    • Java/JDBC: useCursorFetch=true diaktifkan dalam URL koneksi, dan PreparedStatement.setFetchSize() diatur ke nilai lebih dari 0 atau ke Integer.MIN_VALUE.

    • Python: MySQLdb.cursors.SSCursor atau pymysql.cursors.SSCursor digunakan.

    • Framework ORM: Beberapa framework Object-Relational Mapping (ORM) menggunakan kueri streaming secara default saat memproses kueri set data besar, yang didasarkan pada mode kursor.

    Untuk mengonfirmasi apakah ini penyebabnya, periksa apakah `fetchSize` dikonfigurasi atau kursor streaming digunakan dalam kode aplikasi Anda. Anda juga dapat menjalankan perintah SHOW GLOBAL STATUS LIKE 'Com_stmt_fetch'; di database untuk memeriksa permintaan FETCH.

  • Q: Mengapa waktu penyelesaian dalam log kueri lambat berbeda dari waktu eksekusi aktual pernyataan SQL?

    A: Masalah ini biasanya terjadi karena zona waktu diubah saat pernyataan SQL dieksekusi. Zona waktu untuk waktu eksekusi SQL yang dicatat dalam log kueri lambat dapat berada di tingkat session, database, atau sistem. Logika penentuan waktu dalam log kueri lambat adalah sebagai berikut: Jika zona waktu diatur untuk database, maka zona waktu database yang digunakan. Jika tidak, zona waktu sistem yang digunakan. Jika zona waktu tingkat session diubah menggunakan pernyataan SQL, zona waktu dalam catatan log kueri lambat mungkin tidak dikonversi dengan benar.

Referensi

Anda dapat mengaktifkan fitur administrasi database otomatis DAS untuk secara otomatis mengoptimalkan pernyataan SQL lambat saat terjadi pada instans database Anda.