全部产品
Search
文档中心

ApsaraDB RDS:Melihat statistik deadlock

更新时间:Jun 25, 2025

Tab DeadLock telah ditambahkan untuk menampilkan informasi deadlock terkait instance ApsaraDB RDS for SQL Server. Informasi ini mencakup waktu mulai transaksi, ID sesi, detail sumber daya yang terkunci, dan jenis deadlock. Anda dapat mengidentifikasi serta mengoptimalkan pernyataan SQL dan pengecualian lainnya yang menyebabkan deadlock berdasarkan informasi ini. Topik ini menjelaskan cara melihat statistik deadlock dari instance ApsaraDB RDS for SQL Server di Konsol Manajemen ApsaraDB RDS.

Informasi latar belakang

Saat menjalankan transaksi untuk memodifikasi sumber daya tertentu, sumber daya tersebut dikunci untuk mencegah modifikasi oleh transaksi konkuren lainnya. Hal ini memastikan konsistensi data.

Dalam kebanyakan kasus, deadlock terjadi ketika beberapa transaksi bersaing untuk mendapatkan sumber daya yang sama. Sebagai contoh, Transaksi A mengunci Sumber Daya A dan mencoba memodifikasi Sumber Daya B, sedangkan Transaksi B mengunci Sumber Daya B dan mencoba memodifikasi Sumber Daya A. Akibatnya, Transaksi A dan Transaksi B saling menunggu sumber daya yang dimiliki satu sama lain, sehingga terjadilah deadlock. Dalam situasi ini, sistem secara otomatis menghentikan sesi dengan biaya rollback lebih rendah, dan tugas dalam sesi tersebut gagal. 死锁

Jenis-jenis deadlock

ApsaraDB RDS dapat menganalisis jenis-jenis deadlock berikut:

  • KeyDeadlock

  • ObjectDeadLock

  • RIDDeadlock

  • PageDeadlock

  • ComplieDeadlock

Untuk informasi lebih lanjut tentang setiap jenis deadlock, lihat Granularitas Kunci dan Hierarki.

Mode penguncian

Ketika transaksi mengakses sumber daya, mode penguncian yang digunakan untuk mengunci sumber daya bervariasi berdasarkan tipe akses. ApsaraDB RDS for SQL Server mendukung mode penguncian berikut:

  • Berbagi (S): Setelah transaksi memperoleh kunci bersama pada sumber daya, sumber daya tersebut hanya bisa dibaca tetapi tidak dapat dimodifikasi hingga transaksi melepaskan kunci bersama.

  • Pembaruan (U): Setelah transaksi memperoleh kunci pembaruan pada sumber daya, sumber daya tersebut tidak dapat dimodifikasi oleh transaksi lain hingga transaksi tersebut memperoleh kunci eksklusif pada sumber daya.

  • Eksklusif (X): Setelah transaksi memperoleh kunci eksklusif pada sumber daya, sumber daya tersebut tidak dapat diakses oleh transaksi lain hingga transaksi pertama melepaskan kunci eksklusif.

Prasyarat

  • Instance RDS Anda tidak menjalankan SQL Server 2008 R2 dengan disk cloud.

  • Instance RDS Anda berada di salah satu wilayah berikut: Cina (Hangzhou), Cina (Shanghai), Cina (Qingdao), Cina (Beijing), Cina (Zhangjiakou), Cina (Hohhot), Cina (Ulanqab), Cina (Shenzhen), Cina (Heyuan), Cina (Guangzhou), Cina (Chengdu), Cina (Hong Kong), Singapura, dan UEA (Dubai).

Melihat detail deadlock

  1. Pergi ke halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instance RDS berada. Kemudian, temukan instance RDS dan klik ID instance tersebut.

  2. Di panel navigasi di sebelah kiri, pilih Autonomy Services > Lock Optimization.

Pengenalan tab DeadLock

  • Jumlah deadlock

    Bagian ini menampilkan jumlah deadlock selama rentang waktu terakhir. Anda dapat menentukan rentang waktu untuk melihat jumlah deadlock.

    死锁数量

  • Deadlock Trend

    Bagian ini menampilkan berbagai jenis deadlock yang terjadi selama rentang waktu tertentu. Anda dapat melakukan operasi berikut untuk menanyakan informasi deadlock:

    • Tentukan start time dan end time, lalu klik Search untuk melihat tren deadlock yang terjadi selama rentang waktu tersebut. Interval antara waktu mulai dan waktu akhir tidak boleh melebihi 30 hari.

    • Klik Last 24 Hours, Last 7 Days, atau Last Month untuk melihat tren deadlock selama 1 hari terakhir, 7 hari terakhir, atau 30 hari terakhir.

    • Geser pointer ke titik waktu tertentu untuk melihat jenis dan jumlah deadlock yang terjadi pada saat itu.

    • Di sudut kanan atas grafik tren, klik salah satu ikon 图标 untuk mengubah gaya tampilan grafik tren dan mengunduh grafik tren sebagai gambar.

    死锁变化趋势

  • Deadlock Details死锁详细信息

    Bagian ini menampilkan detail deadlock. Anda dapat mengklik ikon 加号 di sebelah kiri catatan deadlock untuk melihat detail tentang sesi yang menghalangi dan sesi yang terhalangi. Detailnya mencakup informasi berikut:

    • LastTranStarted: menunjukkan waktu mulainya transaksi dalam sesi.

    • SPID: Menunjukkan ID sesi.

    • IsVictim: Menunjukkan apakah sesi telah dihentikan.

      Catatan

      SQL Server menyediakan thread pemantau deadlock yang secara berkala memeriksa adanya deadlock. Jika deadlock terdeteksi, SQL Server mengevaluasi sesi yang memblokir dan sesi yang diblokir, lalu menghentikan sesi di mana transaksi dapat di-rollback dengan biaya lebih rendah dibandingkan sesi lainnya. Sebagai contoh, deadlock terjadi antara sesi yang menjalankan pernyataan SELECT dan sesi yang menjalankan pernyataan UPDATE. Pernyataan SELECT dapat di-rollback dengan biaya lebih rendah dibandingkan pernyataan UPDATE. Dalam kasus ini, SQL Server menghentikan sesi yang menjalankan pernyataan SELECT.

    • LogUsed: Menunjukkan ukuran log yang dihasilkan dalam sesi. Satuan: byte.

    • LockMode: Menunjukkan mode penguncian dari deadlock.

    • WaitResourceDesc: Menampilkan detail sumber daya yang ditunggu oleh transaksi dalam sesi.

    • ObjectOwned: Menunjukkan objek yang dikunci dalam sesi.

    • ObjectRequested: Menunjukkan objek yang diminta oleh transaksi untuk dikunci dalam sesi.

    • WaitResource: Menunjukkan nama sumber daya yang ditunggu oleh transaksi dalam sesi.

    • HostName: Menunjukkan nama host tempat transaksi dalam sesi dijalankan.

    • LoginName: Menunjukkan nama pengguna akun yang digunakan untuk menjalankan transaksi dalam sesi.

    • Status: Menunjukkan status transaksi dalam sesi.

    • ClientApp: Menunjukkan nama klien yang memulai transaksi dalam sesi.

    • SQLText: Menampilkan detail Pernyataan SQL yang dijalankan dalam Sesi.

      Catatan

      Anda dapat mengklik pernyataan SQL untuk menyalin dan menganalisis lebih lanjut pernyataan SQL tersebut.

    Anda dapat mengklik catatan deadlock untuk melihat diagram deadlock di bagian Diagram Deadlock.

  • Deadlock Diagram死锁关系图

    Bagian ini menampilkan hubungan antara sesi yang menghalangi dan sesi yang terhalangi, serta detail tentang sumber daya yang terkunci. Anda dapat mengklik Download untuk mengunduh file XDL yang berisi detail deadlock. File ini dapat dibuka dan dilihat menggunakan SQL Server Management Studio (SSMS).

Solusi deadlock dan saran optimasi

Apa yang harus saya lakukan jika deadlock terjadi pada instance ApsaraDB RDS for SQL Server?