Topik ini menjelaskan cara menggunakan fitur analisis kunci dari Database Autonomy Service (DAS) untuk menganalisis deadlock database. Fitur ini mencakup analisis deadlock terbaru dan analisis deadlock lengkap.
Data dalam gambar hanya untuk tujuan demonstrasi. Dalam praktiknya, gunakan data aktual Anda untuk parameter seperti ID thread dan pernyataan SQL.
Prasyarat
Instansiasi basis data target menjalankan salah satu mesin database 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
Instansiasi basis data target terhubung ke DAS dan status koneksi-nya adalah Normal Access. Untuk informasi selengkapnya, lihat Menghubungkan instansiasi basis data ke DAS.
Alibaba Cloud Managed Services (sebelumnya Edisi Ekonomi DAS) diaktifkan.
PentingAlibaba Cloud Managed Services (sebelumnya Edisi Ekonomi DAS) hanya tersedia di beberapa wilayah. Untuk informasi selengkapnya, lihat Database dan wilayah yang didukung menurut edisi.
Untuk mengaktifkan Alibaba Cloud Managed Services (sebelumnya Edisi Ekonomi DAS), lihat Mengelola Alibaba Cloud Managed Services (sebelumnya Edisi Ekonomi DAS).
Analisis deadlock terbaru
Aktifkan parameter
innodb_deadlock_detectuntuk instans tersebut.CatatanParameter ini biasanya diaktifkan secara default. Anda dapat menjalankan pernyataan
SHOW VARIABLES LIKE 'innodb_deadlock_detect'untuk memastikan. Perhatikan bahwa Anda tidak dapat mengubah nilai parameter ini untuk beberapa jenis instans.Untuk memodifikasi parameter instansiasi basis data:
Untuk RDS MySQL, lihat Menyetel parameter instans.
Untuk PolarDB for MySQL, lihat Menyetel parameter kluster dan node.
DAS menganalisis log deadlock terbaru dari keluaran pernyataan
SHOW ENGINE INNODB STATUS.
Jika terjadi beberapa deadlock, DAS hanya menganalisis deadlock terbaru saat Anda memicu analisis. Hasil analisis kemudian disimpan.
Prosedur
Masuk ke Konsol DAS.
Di panel navigasi sebelah kiri, klik Operation Center > Instance Monitoring.
Temukan instans target, klik ID instans, lalu buka halaman detail instans.
Di panel navigasi sebelah kiri, klik Lock Analysis. Di halaman Lock Analysis, klik tab Recent Deadlock Analysis.
Klik Create Analysis untuk memulai analisis deadlock terbaru.

Lihat detail
Pilih rentang waktu untuk melihat hasil tugas diagnostik yang dipicu selama periode tersebut.
Di daftar tugas diagnostik untuk analisis deadlock terbaru, klik View Details di kolom Details.

Panel muncul dan menampilkan tiga cara untuk melihat detail deadlock:
View: Menampilkan visualisasi hubungan deadlock. Klik ubin transaksi untuk melihat detail transaksi tersebut di bawahnya.

List: Menampilkan perbandingan berdampingan detail transaksi yang memegang kunci.

Log: Menampilkan log deadlock asli (LATEST DETECTED DEADLOCK) dari keluaran pernyataan
SHOW ENGINE INNODB STATUS.
Analisis gabungan dengan SQL Explorer dan Audit
Di panel navigasi sebelah kiri instans target, klik SQL Explorer and Audit. Di halaman Audit, klik Enable Advanced Query.

Pilih rentang waktu yang mencakup waktu terjadinya deadlock. Masukkan ID thread dari analisis deadlock terbaru untuk mengkueri pernyataan SQL yang dieksekusi oleh transaksi tersebut.
Transaksi 1 pada contoh sebelumnya

Transaksi 2 pada contoh sebelumnya (dibatalkan)

Analisis deadlock lengkap
Aktifkan parameter
innodb_deadlock_detectdaninnodb_print_all_deadlocksuntuk instans tersebut. Untuk instans RDS MySQL, atur parameterlog_error_verbositymenjadi 3.CatatanParameter
innodb_deadlock_detectbiasanya diaktifkan secara default. Anda dapat menjalankan pernyataanSHOW VARIABLES LIKE 'innodb_deadlock_detect'untuk memastikan. Perhatikan bahwa Anda tidak dapat mengubah nilai parameter ini untuk beberapa jenis instans.Untuk memodifikasi parameter instansiasi basis data:
Untuk RDS MySQL, lihat Menyetel parameter instans.
Untuk PolarDB for MySQL, lihat Menyetel parameter kluster dan node.
DAS mengurai informasi deadlock dari log kesalahan instans setiap jam untuk mengumpulkan statistik tren jumlah deadlock dan detail setiap deadlock.
Waktu pendinginan: Jika Alibaba Cloud Managed Services (sebelumnya Edisi Ekonomi DAS) diaktifkan untuk suatu instans tetapi parameter yang diperlukan belum diaktifkan, DAS menjeda analisis selama waktu pendinginan 12 jam. Jika Anda mengaktifkan parameter yang diperlukan selama waktu pendinginan ini, DAS akan menjadwalkan ulang tugas analisis untuk dijalankan setelah periode pendinginan berakhir. Misalnya:
Tugas analisis dijadwalkan untuk suatu instans pada pukul 11.12. Jika DAS mendeteksi bahwa parameter yang diperlukan dinonaktifkan, tugas terjadwal tersebut ditunda dan waktu pendinginan 12 jam dimulai. Pada pukul 23.12, DAS mencoba menjalankan tugas analisis deadlock lengkap lagi. Jika parameter masih dinonaktifkan, waktu pendinginan 12 jam lainnya dimulai. Jika parameter telah diaktifkan sebelum pukul 23.12, tugas tersebut dijalankan sesuai jadwal pada pukul 23.12 dan terus berjalan setiap jam hingga parameter dinonaktifkan atau Alibaba Cloud Managed Services (sebelumnya Edisi Ekonomi DAS) dimatikan untuk instans tersebut.
Analisis deadlock lengkap tidak mendukung deadlock yang berisi deskripsi "TOO DEEP OR LONG SEARCH IN THE LOCK TABLE WAITS-FOR GRAPH, WE WILL ROLL BACK FOLLOWING TRANSACTION".
Prosedur
Masuk ke Konsol DAS.
Di panel navigasi sebelah kiri, klik Operation Center > Instance Monitoring.
Temukan instans target, klik ID instans, lalu buka halaman detail instans.
Di panel navigasi sebelah kiri, klik Lock Analysis. Di halaman Lock Analysis, klik tab Full Deadlock Analysis.
Analisis deadlock lengkap secara otomatis menganalisis log deadlock dari log kesalahan instans setiap jam. Fitur ini mengumpulkan statistik jumlah deadlock dan menampilkan grafik Deadlock Trend di bagian atas halaman. Anda dapat memilih rentang waktu untuk melihat tren deadlock selama periode tersebut.

Lihat detail
Di daftar deadlock untuk analisis deadlock lengkap, klik View Details di kolom Details.

Panel muncul dengan tiga tab untuk melihat detail deadlock: View, List, dan Log. Tab Log berisi log kesalahan yang terkait dengan deadlock. Format pada tab View dan List sama dengan format pada analisis deadlock terbaru. Untuk informasi selengkapnya, lihat Lihat detail dalam Analisis deadlock terbaru.

Analisis gabungan dengan SQL Explorer dan Audit
Prosedurnya sama dengan prosedur untuk analisis deadlock terbaru. Untuk informasi selengkapnya, lihat Analisis gabungan dengan SQL Explorer and Audit dalam Analisis deadlock terbaru.