All Products
Search
Document Center

Database Autonomy Service:Analisis deadlock

Last Updated:Jun 22, 2026

Topik ini menjelaskan cara menggunakan fitur analisis kunci (lock analysis) dari Database Autonomy Service (DAS) untuk menganalisis deadlock pada database Anda. Topik ini mencakup dua mode: analisis deadlock terbaru dan analisis deadlock lengkap.

Catatan

Data dalam gambar pada topik ini, termasuk ID thread dan pernyataan SQL, hanya digunakan untuk tujuan demonstrasi. Saat melakukan operasi tersebut, gunakan data dan parameter aktual Anda.

Prasyarat

  • Instans target harus menggunakan salah satu mesin berikut:

    • Analisis deadlock terbaru:

      • RDS MySQL

      • MySQL yang dikelola sendiri

      • PolarDB for MySQL

      • PolarDB-X 2.0

    • Analisis deadlock lengkap:

      • RDS MySQL

      • PolarDB for MySQL

  • Instans target harus terhubung ke DAS dengan status koneksi Normal Access. Untuk informasi selengkapnya, lihat Hubungkan instans database ke DAS.

  • Alibaba Cloud Managed Services (sebelumnya DAS Economy Edition) harus diaktifkan.

    Penting

Analisis deadlock terbaru

  • Pengaturan parameter: Instans harus memiliki parameter innodb_deadlock_detect yang diaktifkan.

    Catatan

    Parameter ini biasanya diaktifkan secara default. Untuk memastikannya, jalankan SHOW VARIABLES LIKE 'innodb_deadlock_detect'. Perhatikan bahwa Anda tidak dapat mengubah nilai parameter ini untuk beberapa tipe instans.

  • Analisis data: Menganalisis log deadlock terbaru yang dikembalikan oleh perintah SHOW ENGINE INNODB STATUS.

Penting

Jika terjadi beberapa deadlock, setiap analisis hanya menangkap deadlock terbaru dan menyimpan datanya.

Prosedur

  1. Masuk ke Konsol DAS.

  2. Di panel navigasi sebelah kiri, klik Intelligent O&M Center > Instance Monitoring.

  3. Temukan instans target dan klik ID instans untuk membuka halaman detail instans.

  4. Di panel navigasi sebelah kiri, klik Lock Analysis. Di halaman Lock Analysis, pilih tab Recent Deadlock Analysis.

  5. Klik Create Analysis untuk memulai analisis deadlock terbaru.

    Setelah analisis selesai, tabel hasil di tab Recent Deadlock Analysis menampilkan waktu pembuatan, waktu kejadian, dan apakah deadlock ditemukan. Klik View Details untuk melihat informasi detail tentang deadlock tersebut.

Lihat detail

  1. Pilih periode waktu untuk melihat hasil tugas analisis yang dipicu dalam periode tersebut.

  2. Di daftar tugas analisis untuk analisis deadlock terbaru, klik View Details di kolom Details.

  3. Panel muncul, menampilkan detail deadlock dalam tiga tab:

    • View: Menampilkan graf visual hubungan deadlock, termasuk node untuk transaksi dan kunci record yang terlibat. Panah yang menunjukkan lock granted dan waiting menggambarkan hubungan kepemilikan dan penantian kunci, membentuk siklus deadlock. Transaksi yang di-rollback ditandai sebagai "Rolled back". Klik node transaksi untuk memperluas detailnya, seperti Session ID, ID thread, jenis permintaan, ID transaksi, tabel yang terlibat, informasi kunci yang ditunggu, dan nama indeks pada kunci yang ditunggu.

    • List: Tab ini menampilkan perbandingan berdampingan dari dua transaksi yang deadlock, dengan transaksi yang di-rollback ditandai. Baris tabel mencakup Session ID, ID thread, jenis permintaan, ID transaksi, tabel yang terlibat, kunci yang ditunggu (nama indeks dan jenis kunci, misalnya X locks rec but not gap waiting), kunci yang dipegang (nama indeks dan jenis kunci), serta SQL transaksi. Di bagian bawah, Anda dapat menggunakan ID thread atau ID transaksi untuk mencari detail transaksi terkait di SQL Explorer and Audit.

    • Log: Menampilkan detail log deadlock mentah dari bagian LATEST DETECTED DEADLOCK pada output SHOW ENGINE INNODB STATUS. Ini mencakup waktu terjadinya deadlock, pernyataan SQL dari transaksi yang terlibat, informasi kunci yang dipegang (HOLDS THE LOCK), dan informasi kunci yang ditunggu (WAITING FOR THIS LOCK TO BE GRANTED).

Menganalisis dengan Penjelajah SQL dan Audit

  1. Di panel navigasi sebelah kiri untuk instans target, klik SQL Explorer and Audit. Di halaman Audit, klik Enable Advanced Query.

  2. Pilih rentang waktu yang mencakup saat deadlock terjadi dan masukkan ID thread dari analisis deadlock terbaru untuk mengkueri pernyataan SQL yang dieksekusi oleh transaksi tersebut.

    1. Untuk Transaksi 1 dalam contoh, hasil kueri menunjukkan bahwa thread tersebut mengeksekusi tiga pernyataan SQL: update students set name=UUID() where id = 2 (waktu eksekusi: 2.938,377 ms, waktu tunggu kunci: 1 ms), update students set name=UUID() where id = 3 (waktu eksekusi: 0,002 ms), dan begin. Waktu eksekusi yang sangat lama pada pernyataan update pertama menunjukkan adanya penantian kunci.

    2. Untuk Transaksi 2 (di-rollback): Di halaman Audit, atur Time range, atur Thread ID menjadi 195662, lalu klik Query. Daftar log menunjukkan catatan eksekusi SQL untuk Transaksi 2: update students set name=UUID() where id = 3 gagal dengan kode kesalahan 1213 (deadlock) dan memakan waktu 1,40 ms, dengan waktu tunggu kunci 1,152 ms. update students set name=UUID() where id = 2 berhasil dan memakan waktu 0,20 ms. begin berhasil dan memakan waktu 0,18 ms.

Analisis deadlock lengkap

  • Anda harus mengaktifkan parameter innodb_deadlock_detect dan innodb_print_all_deadlocks. Untuk instans RDS MySQL, Anda harus mengatur parameter log_error_verbosity ke 3.

    Catatan

    Parameter innodb_deadlock_detect biasanya diaktifkan secara default. Anda dapat menjalankan SHOW VARIABLES LIKE 'innodb_deadlock_detect' untuk memastikannya. Perhatikan bahwa Anda tidak dapat mengubah nilai parameter ini untuk beberapa tipe instans.

  • Sumber data: Fitur ini mengurai informasi deadlock yang dicetak dalam log error instans setiap jam untuk menghasilkan tren jumlah deadlock dan mengompilasi detail setiap deadlock.

  • Periode cooldown: Jika Alibaba Cloud Managed Services diaktifkan dan DAS mendeteksi bahwa parameter yang diperlukan tidak diaktifkan, DAS akan memasuki periode cooldown selama 12 jam dan tidak menjalankan tugas analisis. Jika Anda mengaktifkan parameter yang diperlukan selama periode cooldown, DAS akan menunggu hingga periode tersebut berakhir sebelum menjadwalkan ulang analisis. Contohnya:

    • Tugas analisis pada pukul 11.12 mendeteksi bahwa parameter yang diperlukan tidak diaktifkan dan memulai cooldown selama 12 jam. Setelah pukul 23.12, analisis deadlock lengkap menjadwalkan ulang tugas tersebut. Jika parameter masih belum diaktifkan, cooldown 12 jam lainnya dimulai. Jika Anda mengaktifkan parameter sebelum pukul 23.12, cooldown berakhir pada pukul 23.12. Setelah itu, analisis dijalankan setiap jam, asalkan parameter yang diperlukan dan Alibaba Cloud Managed Services tetap diaktifkan untuk instans tersebut.

Penting

Analisis deadlock yang mencakup pesan "TOO DEEP OR LONG SEARCH IN THE LOCK TABLE WAITS-FOR GRAPH, WE WILL ROLL BACK FOLLOWING TRANSACTION" tidak didukung.

Prosedur

  1. Masuk ke Konsol DAS.

  2. Di panel navigasi sebelah kiri, klik Intelligent O&M Center > Instance Monitoring.

  3. Temukan instans target dan klik ID instans untuk membuka halaman detail instans.

  4. Di panel navigasi sebelah kiri, klik Lock Analysis. Di halaman Lock Analysis, pilih tab Full Deadlock Analysis.

  5. Setiap jam, analisis deadlock lengkap secara otomatis menganalisis log error instans, menghitung jumlah deadlock, dan memplot data tersebut pada grafik Deadlock Trend di bagian atas halaman. Pilih periode waktu untuk melihat tren deadlock dalam periode tersebut.

    Bagian atas halaman menyediakan tombol pemilihan cepat untuk Last 1 Day, Last 3 Days, dan Last 7 Days, serta pemilih rentang tanggal khusus. Klik tombol View untuk merefresh grafik tren. Di bawah grafik terdapat daftar event deadlock yang menampilkan Deadlock Time untuk masing-masing. Klik View Details untuk event tertentu guna melihat informasi lebih lanjut.

Lihat detail

  1. Di daftar deadlock analisis deadlock lengkap, klik View Details di kolom Details.

  2. Panel muncul, menampilkan detail deadlock dalam tiga tab: View, List, dan Log. Tab Log berisi konten log error yang terkait dengan deadlock. Tab View dan List sama seperti pada analisis deadlock terbaru. Untuk informasi selengkapnya, lihat Analisis deadlock terbaru – Lihat detail.

Analisis dengan SQL Explorer and Audit

Prosedurnya sama seperti pada analisis deadlock terbaru. Untuk informasi selengkapnya, lihat Analisis deadlock terbaru – Analisis dengan SQL Explorer and Audit.

Dokumen terkait