全部产品
Search
文档中心

ApsaraDB RDS:Gunakan fitur manajemen sesi

更新时间:Jul 02, 2025

Ketika terjadi masalah kinerja atau pengecualian operasi (seperti pemanfaatan CPU mencapai 100%) pada database, Anda dapat mendiagnosis masalah tersebut menggunakan informasi sesi database. Database Autonomy Service (DAS) menyediakan fitur manajemen sesi untuk instance ApsaraDB RDS untuk MySQL. Fitur ini memungkinkan Anda melihat sesi aktif, sesi abnormal, sumber akses, dan pernyataan SQL secara real-time. Anda juga dapat melakukan operasi O&M seperti mengakhiri sesi serta melakukan pembatasan, diagnostik, dan optimasi SQL.

Prasyarat

Instance RDS Anda harus menjalankan salah satu versi MySQL dan edisi RDS berikut:

  • MySQL 8.0 pada RDS Edisi Ketersediaan Tinggi, RDS Enterprise Edition, atau RDS Edisi Kluster

  • MySQL 5.7 pada RDS Edisi Ketersediaan Tinggi, RDS Enterprise Edition, atau RDS Edisi Kluster

  • MySQL 5.6 pada RDS Edisi Ketersediaan Tinggi

  • MySQL 5.5 pada RDS Edisi Ketersediaan Tinggi

Prosedur

  1. Buka halaman Instances. Pilih wilayah instance RDS di bilah navigasi atas, lalu temukan instance RDS dan klik ID-nya.

  2. Di panel navigasi sebelah kiri, pilih Autonomy Services > Diagnostics.

  3. Klik tab Session Management.

  4. Pada tab Session Management, lihat informasi sesi instance database di bagian Instance Sessions dan Session Statistics.

    • Di bagian Instance Sessions, Anda dapat melakukan operasi berikut:

      • Lihat informasi seperti pengecualian, sesi aktif, durasi eksekusi terlama, pemanfaatan CPU, dan penggunaan koneksi.

      • Di pojok kanan atas bagian ini, klik 10s SQL Analysis. Dalam kotak dialog yang muncul, lihat informasi tentang pernyataan SQL yang dieksekusi dalam jendela waktu 10 detik, seperti statistik SQL, log query lambat, dan gambaran umum SQL. Untuk informasi lebih lanjut, lihat analisis SQL 10 detik.

      • Klik SQL Throttling. Dalam kotak dialog SQL Throttling, konfigurasikan parameter untuk mengaktifkan pembatasan SQL berbasis ambang batas pada sesi. Untuk informasi lebih lanjut, lihat pembatasan SQL.

      • Klik Optimize. Dalam kotak dialog SQL Diagnostic Optimization, lihat hasil diagnostik SQL.

        Jika Anda menerima saran optimasi SQL, klik Copy dan tempelkan pernyataan SQL yang dioptimalkan ke klien database atau Data Management (DMS) untuk dieksekusi. Jika tidak menerima saran, klik Cancel.

        Catatan

        DAS melakukan diagnostik SQL berdasarkan tingkat kompleksitas pernyataan SQL, jumlah data dalam tabel, dan beban database. Saran mungkin dikembalikan lebih dari 20 detik setelah diagnostik dilakukan. Setelah selesai, mesin diagnostik memberikan hasil diagnostik, saran optimasi, dan manfaat optimasi yang diharapkan. Anda dapat menentukan apakah akan menerima saran berdasarkan informasi yang diberikan.

      • Ekspor sesi aktif.

      • Hentikan sesi.

        Saat menghentikan sesi, Anda harus memasukkan nama pengguna dan kata sandi akun database yang digunakan untuk membuat sesi. Anda juga dapat menggunakan akun dengan izin untuk menghentikan sesi yang dibuat oleh akun lain, seperti akun istimewa.

        Catatan
        • Di kolom User daftar sesi, Anda dapat melihat akun database yang digunakan untuk membuat sesi.

        • Anda dapat mengklik End Session History untuk melihat catatan sesi yang dihentikan.

    • Di bagian Session Statistics, Anda dapat melakukan operasi berikut:

      • Lihat informasi ringkasan dan statistik sesi berdasarkan pengguna, sumber akses, atau database. Informasi ringkasan mencakup jumlah total sesi, jumlah total sesi yang sedang berjalan, dan durasi sesi terpanjang.

      • Ekspor informasi ringkasan dan statistik sesi berdasarkan pengguna, sumber akses, atau database.

    • Anda dapat mengklik Enable Automatic Throttling untuk mengaktifkan fitur pembatasan SQL otomatis. Setelah mengaktifkan fitur ini dan kondisi yang dikonfigurasikan terpenuhi, pembatasan SQL otomatis dipicu untuk mengelola jumlah permintaan akses dan permintaan SQL bersamaan pada instance database Anda. Ini membantu memastikan ketersediaan layanan database. Untuk informasi lebih lanjut, lihat Pembatasan SQL Otomatis.

FAQ

Mengapa tanda persen (%) muncul di kolom Access Source?

Tanda persen (%) mungkin ditampilkan di kolom Sumber Akses saat menggunakan prosedur tersimpan. Untuk mereproduksi skenario ini, ikuti langkah-langkah berikut:

Catatan

Dalam contoh ini, instance database adalah instance ApsaraDB RDS untuk MySQL, akun uji adalah test_user, dan database uji adalah testdb.

  1. Di konsol ApsaraDB RDS, buat database dan akun standar serta berikan izin pada database untuk akun standar. Untuk informasi lebih lanjut, lihat Buat Akun.

  2. Gunakan akun test_user untuk terhubung ke instance database menggunakan CLI. Untuk informasi lebih lanjut, lihat Gunakan Klien atau CLI untuk Terhubung ke Instance ApsaraDB RDS untuk MySQL.

  3. Beralih ke database testdb dan buat prosedur tersimpan dengan mengeksekusi pernyataan berikut:

    -- Beralih ke database testdb.
    USE testdb;
    
    -- Buat prosedur tersimpan.
    DELIMITER $$
    DROP PROCEDURE IF EXISTS `das` $$
    CREATE DEFINER=`test_user`@`%` PROCEDURE `das`()
    BEGIN
    SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID();
    END $$
    DELIMITER;
  4. Gunakan akun istimewa untuk terhubung ke instance database. Untuk informasi lebih lanjut, lihat Langkah 2: Terhubung ke Instance ApsaraDB RDS untuk MySQL.

  5. Panggil prosedur tersimpan yang telah Anda buat.

    -- Beralih ke database testdb.
    USE testdb;
    
    -- Panggil prosedur tersimpan.
    CALL das();
    
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | ID     | USER      | HOST   | DB     | COMMAND | TIME | STATE     | INFO                                                                    |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | 487818 | test_user | %:2065 | testdb | Query   |    0 | executing | SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID() |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+

T: Sesi apa yang ditandai sebagai abnormal?

A: Sesi berikut ditandai sebagai abnormal:

  • Sesi yang berisi pernyataan SQL pemblokiran seperti sesi yang melaporkan kesalahan "Menunggu kunci metadata tabel". Durasi eksekusi pernyataan SQL pemblokiran melebihi 30 detik. Pernyataan SQL pemblokiran menempati sumber daya untuk periode waktu yang lama, sehingga pernyataan SQL lain mungkin gagal dieksekusi. Contoh umum termasuk pernyataan DDL dan pernyataan FLUSH TABLES WITH READ LOCK.

  • Sesi yang berisi transaksi dengan durasi lebih dari 30 detik.

  • Sesi yang berisi transaksi yang belum dikomit untuk periode waktu yang lama. Jika transaksi dimulai dalam sesi tetapi tidak ada pernyataan SQL baru yang dieksekusi selama lebih dari 10 detik, kemungkinan besar perintah COMMIT dihilangkan dari kode. Hal ini dapat menyebabkan transaksi menempati sumber daya untuk periode waktu yang lama dan gagal melepaskan sumber daya tepat waktu.

Referensi

Anda dapat mengaktifkan fitur otonomi DAS. DAS dapat secara otomatis mendiagnosis dan mengoptimalkan pernyataan SQL dalam sesi pada instance database Anda.