Ketika terjadi deadlock pada instans ApsaraDB RDS for MySQL Anda, Anda dapat menggunakan fitur Analisis Kunci untuk menganalisis secara visual deadlock terbaru, pemblokiran transaksi, dan penundaan kunci metadata. Fitur ini membantu Anda mengidentifikasi akar penyebab deadlock dengan cepat serta meningkatkan stabilitas database.
Prasyarat
Instans Anda harus termasuk dalam salah satu edisi berikut:
RDS MySQL 8.4 Edisi Ketersediaan Tinggi atau Edisi Kluster
RDS MySQL 8.0 Edisi Ketersediaan Tinggi, Edisi Perusahaan Tiga-node, atau Edisi Kluster
RDS MySQL 5.7 Edisi Ketersediaan Tinggi, Edisi Perusahaan Tiga-node, atau Edisi Kluster
RDS MySQL 5.6 Edisi Ketersediaan Tinggi
RDS MySQL 5.5 Edisi Ketersediaan Tinggi
Pada halaman Basic Information instans, pastikan bahwa Type and Edition adalah Edisi Ketersediaan Tinggi, Edisi Perusahaan Tiga-node, atau Edisi Kluster, serta Database Engine adalah MySQL.
Instans Edisi Dasar tidak mendukung Analisis Kunci.
Fitur
Fitur Analisis Kunci menyediakan analisis multidimensi terhadap deadlock, pemblokiran transaksi, dan penundaan kunci metadata pada instans database Anda.
Fitur Full Deadlock Analysis dan Other Lock Analysis memerlukan DAS Edisi Profesional atau DAS Edisi Perusahaan, yang hanya tersedia di wilayah tertentu. Untuk informasi selengkapnya, lihat Database dan wilayah yang didukung oleh berbagai edisi DAS. Untuk mengaktifkan DAS Edisi Profesional atau DAS Edisi Perusahaan, lihat Mengelola log audit dan layanan O&M DAS (sebelumnya Edisi Profesional).
Last Deadlock Analysis: DAS menganalisis log deadlock terbaru yang dikembalikan oleh perintah
SHOW ENGINE INNODB STATUS.Full Deadlock Analysis: DAS secara berkala memindai log error untuk mengurai informasi deadlock dan melakukan analisis komprehensif. Anda juga dapat melihat tren deadlock serta detail setiap deadlock dalam rentang waktu tertentu.
Other Lock Analysis: DAS menggunakan data dari
information_schemadanperformance_schemauntuk melakukan analisis real-time terhadap kunci metadata dan pemblokiran transaksi dalam session saat ini pada instans database Anda.Analisis kunci metadata: DAS melakukan inferensi hubungan penantian kunci berdasarkan data dari tabel seperti
information_schema.processlistdan memvisualisasikannya dalam bentuk graf.Analisis pemblokiran transaksi: DAS menganalisis hubungan pemblokiran transaksi dan memvisualisasikannya dalam bentuk graf. Data yang digunakan berasal dari
information_schema.processlist,information_schema.innodb_trx, dan salah satu dariinformation_schema.innodb_lock_waits(untuk MySQL 5.6 dan 5.7) atauperformance_schema.data_lock_waits(untuk MySQL 8.0).
Persyaratan parameter instans
Untuk menggunakan fitur Analisis Kunci, Anda harus mengonfigurasi parameter yang diperlukan pada instans database target.
Fitur | Parameter yang diperlukan |
Last Deadlock Analysis | Aktifkan parameter |
Full Deadlock Analysis |
|
Transaction blocking analysis dalam Other Lock Analysis | Untuk instans RDS MySQL 8.0, Anda harus mengaktifkan parameter |
Untuk mengubah parameter instans, lihat Mengonfigurasi parameter instans.
Catatan penggunaan
Analisis Kunci saat ini tidak mendukung analisis deadlock yang mengandung deskripsi "TOO DEEP OR LONG SEARCH IN THE LOCK TABLE WAITS-FOR GRAPH, WE WILL ROLL BACK FOLLOWING TRANSACTION".
Prosedur
Buka halaman Daftar Instans RDS, pilih wilayah di bagian atas, lalu klik ID instans target.
Di panel navigasi sebelah kiri, pilih Autonomy Services > Diagnostics.
Klik tab Lock Analysis.
Pada halaman Lock Analysis, klik Create Analysis di panel sebelah kiri.
(Opsional) Jika ditemukan deadlock, temukan entri baru dalam daftar diagnosis dan klik View Details pada kolom Details.
Pada halaman Lock Analysis, lihat dan diagnosa deadlock terbaru pada instans database.
Last Deadlock Analysis
Pada tab Last Deadlock Analysis, klik Create Analysis untuk menganalisis log deadlock terbaru dari perintah
SHOW ENGINE INNODB STATUS.Pilih rentang waktu untuk melihat hasil diagnosis. Pada kolom Details suatu hasil, klik View Details untuk melihat laporan diagnostik lengkap.
Full Deadlock Analysis
Pada tab Full Deadlock Analysis, lihat tren deadlock dan detail setiap deadlock untuk rentang waktu tertentu.
Other Lock Analysis
Pada tab Other Lock Analysis, klik Create Analysis. DAS menganalisis kunci metadata dan pemblokiran transaksi dalam session saat ini pada instans database secara real-time berdasarkan data dari
information_schemadanperformance_schema.Pilih rentang waktu untuk melihat hasil diagnosis.
Klik ikon
di samping entri hasil diagnosis untuk melihat statistik analisis kuncinya.Pada kolom Actions statistik tersebut, klik View Details untuk melihat laporan diagnostik lengkap dan graf analisis kunci.
Arahkan kursor ke session pada graf untuk melihat hubungan penantian kuncinya. Klik session untuk melihat detailnya.
Langkah selanjutnya
Ketika terjadi deadlock pada instans database Anda, gunakan informasi dari analisis kunci—seperti ID thread transaksi—dalam SQL Explorer and Audit untuk menganalisis eksekusi transaksi terkait dan mengidentifikasi penyebab deadlock. Misalnya, setelah transaksi dimulai dan memperbarui sejumlah baris data, baris-baris tersebut akan dikunci. Jika transaksi tetap terbuka dalam waktu lama tanpa dilakukan commit atau rollback (termasuk commit dan rollback implisit), session atau transaksi berikutnya yang mencoba memperbarui baris yang sama akan masuk ke status LOCK WAIT.