Topik ini menjelaskan cara menggunakan fitur analisis kunci DAS untuk melakukan analisis tunggu kunci metadata (MDL) dan analisis pemblokiran transaksi pada database Anda.
Data yang ditampilkan dalam gambar pada dokumen ini berasal dari kasus uji. Dalam penggunaan aktual, gunakan parameter data riil Anda, seperti ID thread dan pernyataan SQL.
Prasyarat
-
Engine database target:
-
RDS MySQL
-
PolarDB for MySQL
-
-
Instans database target telah terhubung ke DAS, dan status aksesnya ditampilkan sebagai Normal Access. Untuk detail cara menghubungkan instans database, lihat Connect a database instance.
-
Anda telah mengaktifkan Alibaba Cloud Managed Services (sebelumnya DAS Economy Edition).
Penting-
Alibaba Cloud Managed Services (sebelumnya DAS Economy Edition) hanya tersedia di wilayah tertentu. Untuk detailnya, lihat Supported databases and regions by edition.
-
Untuk mengaktifkan Alibaba Cloud Managed Services (sebelumnya DAS Economy Edition), lihat Manage Alibaba Cloud Managed Services (formerly DAS Economy Edition).
-
Jenis kunci
-
Analisis kunci metadata (MDL)
-
Data analitis: Menggunakan data dari tabel seperti
information_schema.processlistuntuk melakukan inferensi hubungan tunggu kunci dan menghasilkan graf hubungan.
-
-
Analisis pemblokiran transaksi
PentingAnalisis pemblokiran transaksi tidak didukung untuk instans PolarDB for MySQL 5.6.
-
Data analitis: Menggunakan data dari
information_schema.processlist,information_schema.innodb_trx, dan tabel-tabel berikut untuk menganalisis hubungan pemblokiran transaksi dan menghasilkan graf hubungan.-
RDS MySQL 5.6 dan 5.7:
information_schema.innodb_lock_waits -
PolarDB for MySQL 5.7:
information_schema.innodb_lock_waits -
RDS MySQL dan PolarDB for MySQL 8.0:
performance_schema.data_lock_waits
-
-
Pengaturan parameter: Untuk instans RDS MySQL 8.0 dan PolarDB for MySQL 8.0, Anda harus mengaktifkan parameter
performance_schema. Untuk memodifikasi parameter instans:-
Untuk RDS MySQL, lihat Set instance parameters.
-
Untuk PolarDB for MySQL, lihat Set cluster and node parameters.
-
-
Metode pemicuan
-
Lock analysis – On-demand analysis: Pada halaman Lock Analysis, picu secara manual analisis kunci lainnya.
-
Instance sessions – Automatic analysis: Analisis kunci lainnya berjalan secara otomatis saat Anda merefresh halaman Instance Sessions.
Lock analysis – On-demand analysis
Buat analisis
Masuk ke DAS console.
Di panel navigasi sebelah kiri, klik .
Temukan instans target dan klik ID instans untuk membuka halaman detail instans.
-
Di panel navigasi sebelah kiri, klik Lock Analysis. Pada halaman Lock Analysis, di bawah Other Lock Analysis, klik Create Analysis untuk memulai analisis.
Lihat detail
Klik ikon panah (
) di samping hasil diagnosis untuk melihat detail tentang tunggu kunci metadata dan pemblokiran transaksi. Pada halaman Other Lock Analysis, setelah membuka catatan diagnosis, Anda dapat melihat detail jenis kunci, termasuk Metadata Lock (2 sesi terblokir) dan Transaction Lock (2 sesi terblokir). Klik View Details di samping jenis kunci untuk melihat informasi pemblokiran spesifik.
Detail kunci transaksi
Klik View Details di kolom Actions untuk kunci transaksi dalam daftar untuk melihat dua cara menampilkan informasi detail kunci transaksi:
-
Daftar: Daftar detail kunci transaksi menampilkan informasi tentang transaksi yang diblokir dalam bentuk tabel, termasuk kolom ID, user, host, nama database, command, dan transaksi yang diblokir. Klik tautan View Details di kolom Blocked Transaction untuk membuka jendela pop-up yang menampilkan informasi detail transaksi yang diblokir, termasuk ID, user, host, nama database, command, waktu eksekusi (dalam detik), status, dan pernyataan SQL.
-
Tampilan: Tab View menampilkan dependensi kunci transaksi dalam bentuk graf visual. Sesi yang memegang kunci muncul di bagian atas, dengan konektor LOCK WAIT yang mengarah ke sesi yang menunggu kunci. Klik node sesi untuk membuka panel detail yang menampilkan ID, Transaction Resolution, Rows Locked by Transaction, Tables Locked by Transaction, dan Rows Updated by Transaction.
Detail kunci metadata
Klik View Details di kolom Actions untuk kunci metadata dalam daftar untuk melihat representasi visual detail kunci metadata. Di tampilan tersebut, klik blok sesi untuk melihat informasi detailnya di bawah. Anda juga dapat menghentikan sesi terkait dari halaman ini. Halaman diagnosis kunci metadata menampilkan graf hubungan kunci dengan tiga node: Suspicious Session (1) Metadata Lock, Table students DDL Session (1), dan Table students Other Session (1). Panah berlabel "Waiting for table metadata lock" menunjukkan hubungan tunggu. Membuka sesi mencurigakan menampilkan: ID 197889, user das, alamat host yang sebagian disembunyikan, database das, command Sleep, dan waktu eksekusi 176 detik. Di bagian bawah, tiga tombol aksi membantu menyelesaikan masalah kunci metadata: Kill Selected Session, Kill All Suspicious Sessions, dan Kill All DDL Statements.
Gabungkan dengan SQL Explorer dan analisis audit
Sesi mencurigakan dalam status Sleep mungkin tidak menampilkan informasi SQL karena telah memulai transaksi, mengeksekusi pernyataan SQL, tetapi belum melakukan commit atau rollback. Dalam kasus ini, di panel navigasi sebelah kiri instans target, klik SQL Explorer and Audit. Di halaman Audit, klik Enable Advanced Query, masukkan ID thread sesi mencurigakan tersebut, lalu kueri pernyataan SQL yang dieksekusi oleh sesi tersebut. Misalnya, transaksi yang belum dikomit menyebabkan tunggu kunci. Di tab Audit, buka formulir kueri lanjutan Set Query Conditions, atur rentang waktu dari 4 November 2024 pukul 14.34.49 hingga 4 November 2024 pukul 16.49.49, masukkan 197889 di Thread ID, lalu klik Query. Log List di bawah menampilkan catatan SQL yang dieksekusi oleh thread ini selama periode yang ditentukan, termasuk update students set name=UUID() where id = 3 (dieksekusi pada 2024-11-04 16:27:22.426) dan begin (dieksekusi pada 2024-11-04 16:27:21.322).
Instance sessions – Automatic analysis
Prosedur
Masuk ke DAS console.
Di panel navigasi sebelah kiri, klik .
Temukan instans target dan klik ID instans untuk membuka halaman detail instans.
-
Di panel navigasi sebelah kiri, klik Instance Sessions. Di halaman Session Management, analisis kunci lainnya berjalan secara otomatis, dan hasilnya muncul di pojok kanan atas. Di halaman Sessions detail instans, periksa status Lock Wait Exists di area metrik atas. Jika menampilkan No, berarti tidak ada tunggu kunci. Klik View Details untuk menganalisis lebih lanjut tunggu kunci tersebut.
Lihat detail di halaman Instance Sessions
Di halaman Instance Sessions, jika terdapat tunggu kunci, klik View Details untuk melihat kunci transaksi (jika ada) dan kunci metadata (jika ada) dalam drawer. Di halaman Sessions instans DAS, area metrik atas menampilkan 6 sesi aktif, penggunaan CPU 0,3%, penggunaan koneksi 0,1%, 4 sesi abnormal, dan Lock Wait Exists sebagai Yes. Di daftar sesi di bawah, beberapa sesi menampilkan status "Waiting for table metadata lock", yang menunjukkan adanya pemblokiran tunggu kunci. Klik View Details untuk menganalisis lebih lanjut hubungan tunggu kunci tersebut.
Detail kunci transaksi
Klik View Details di kolom Actions untuk kunci transaksi dalam daftar untuk melihat dua opsi tampilan (List dan View), yang bekerja sama seperti pada analisis on-demand. Untuk detailnya, lihat On-demand analysis – Transaction lock details.
Di jendela pop-up Lock Wait, tab Transaction Lock menampilkan tabel yang menunjukkan Lock Type dan Blocked Sessions.
Detail kunci metadata
Klik View Details di kolom Actions untuk kunci metadata dalam daftar untuk melihat representasi visual detail kunci metadata, menggunakan metode yang sama seperti pada analisis on-demand. Untuk detailnya, lihat On-demand analysis – Metadata lock details.
Di jendela pop-up Lock Wait, tab Metadata Lock menampilkan graf visual hubungan pemegang dan penunggu kunci.
Lihat detail di halaman Lock Analysis
Di halaman Lock Analysis, klik ikon panah (
) di samping hasil diagnosis untuk melihat statistik historis dari analisis kunci lainnya yang dipicu secara otomatis di halaman Instance Sessions. Metode penampilannya sama dengan analisis on-demand. Untuk detailnya, lihat On-demand analysis – View details. Di halaman Other Lock Analysis, pilih rentang waktu, klik View, temukan catatan diagnosis di mana Lock Found adalah Yes, buka catatan tersebut, lalu lihat jenis kunci (kunci metadata, kunci transaksi) dan jumlah sesi terblokirnya. Klik View Details untuk menuju halaman detail kunci.