All Products
Search
Document Center

ApsaraDB RDS:Lihat statistik pemblokiran

Last Updated:Jun 25, 2025

Topik ini menjelaskan cara melihat statistik pemblokiran dari instance ApsaraDB RDS for SQL Server. Anda dapat mengidentifikasi dan menyelesaikan masalah pemblokiran berdasarkan statistik tersebut.

Prasyarat

  • Instance RDS menggunakan disk cloud.

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

  • Instance RDS 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).

Informasi latar belakang

Ketika sesi memodifikasi sumber daya tertentu, SQL Server mengunci sumber daya tersebut untuk mencegah akses atau modifikasi oleh sesi lain yang berjalan bersamaan. Hal ini memastikan konsistensi data. Dalam kebanyakan kasus, SQL Server hanya memegang kunci dalam waktu singkat. Setelah sesi selesai memodifikasi sumber daya, SQL Server segera melepaskan kunci dan memberikan akses kepada sesi berikutnya. Namun, jika pernyataan SQL lambat atau terjadi pengecualian lain dalam sesi, sumber daya dapat tetap terkunci lebih lama, yang secara signifikan mengurangi performa instance RDS.

Untuk membantu menyelesaikan masalah pemblokiran, ApsaraDB RDS menyediakan statistik pemblokiran di konsol ApsaraDB RDS. Statistik mencakup ID sesi pemblokiran, waktu terjadinya masalah pemblokiran, dan pernyataan SQL yang menyebabkan masalah tersebut.

Pengambilan sampel

Jika sebuah sesi menyebabkan masalah pemblokiran selama sekitar 2 detik, performa instance RDS biasanya tidak terpengaruh secara signifikan. Namun, jika beberapa sesi berturut-turut menyebabkan masalah pemblokiran dengan durasi serupa, performa instance RDS akan menurun secara signifikan.

Sistem mengambil sampel masalah pemblokiran setiap 10 detik. Pada setiap titik pengambilan sampel, sesi yang membutuhkan lebih dari 2 detik untuk mengeksekusi pernyataan SQL dan memblokir sesi lain dicatat.

Prosedur

  1. Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instance RDS berada. Temukan instance RDS dan klik ID-nya.

  2. Di panel navigasi kiri, pilih Autonomy ServicesLock Optimization.

  3. Di halaman yang muncul, klik tab Blocking untuk melihat statistik pemblokiran instance RDS.

Ikhtisar tab Blocking

  • Jumlah Sesi Pemblokiran

    Bagian ini menampilkan jumlah sesi pemblokiran selama rentang waktu terbaru.

  • Tren Pemblokiran

    Bagian ini menampilkan tren durasi pemblokiran selama rentang waktu tertentu.

    Geser pointer ke titik waktu tertentu untuk melihat detail masalah pemblokiran pada saat itu. Detail mencakup informasi berikut:

    • Waktu terjadinya masalah pemblokiran.

    • Jumlah sesi yang diblokir, ditunjukkan oleh parameter Processes_blocked.

    • Jumlah transaksi yang belum dikomit, ditunjukkan oleh parameter Uncommited_tran.

      Catatan

      Kunci yang menyebabkan masalah pemblokiran tidak dapat dilepaskan karena transaksi belum dikomit.

    • Nilai hash dari pernyataan SQL yang dieksekusi dan lamanya waktu pernyataan SQL tersebut diblokir.

    阻塞趋势

  • Detail Sumber Pemblokiran

    Bagian ini menampilkan detail setiap sesi pemblokiran, termasuk informasi berikut:

    • Spid: ID sesi.

    • QueryHash: nilai hash dari pernyataan yang diminta dalam sesi. Nilai hash dari jenis pernyataan SQL yang sama adalah identik.

    • Wait Type: alasan sesi memblokir sesi lain dalam keadaan menunggu. Untuk informasi lebih lanjut tentang tipe tunggu, lihat sys.dm_os_wait_stats (Transact-SQL).

    • Execution Duration (ms): durasi eksekusi pernyataan SQL yang diminta dalam sesi. Unit: milidetik.

    • SQL: pernyataan SQL yang menyebabkan masalah pemblokiran.

      Catatan

      Anda dapat menggeser pointer ke pernyataan SQL dan mengklik ikon 复制 di sebelah kanan untuk menyalin pernyataan SQL tersebut.

    • Time: waktu terjadinya masalah pemblokiran.

    • Database Name: nama database tempat masalah pemblokiran terjadi.

    Anda dapat mengklik catatan pemblokiran mana pun untuk melihat diagram masalah pemblokiran.

  • Diagram Pemblokiran

    Bagian ini menampilkan ID sesi pemblokiran, ID sesi yang diblokir, jenis kunci, dan durasi pemblokiran. Dalam contoh berikut, sesi pemblokiran ditandai dengan warna merah, dan sesi yang diblokir ditandai dengan warna biru. Untuk informasi lebih lanjut tentang jenis kunci, lihat Panduan Penguncian Transaksi dan Versi Baris.

    阻塞关系图

    Geser pointer ke ID sesi untuk melihat detail masalah pemblokiran dalam sesi tersebut. Detail mencakup informasi berikut:

    • SPID: ID sesi pemblokiran.

    • BlockedBySpid: ID sesi yang diblokir.

    • WaitType: jenis tunggu dalam sesi.

    • WaitTimeMs: durasi pemblokiran dalam sesi. Unit: milidetik.

    • CMD: jenis pernyataan SQL yang dieksekusi dalam sesi.

    • CPU: durasi penggunaan CPU oleh sesi. Unit: milidetik.

    • DBName: nama database tempat sesi berjalan.

    • ClientAppName: nama klien dari mana sesi diinisiasi.

    • HostName: nama host klien dari mana sesi diinisiasi.

    • LoginId: nama pengguna yang digunakan untuk masuk ke sesi.

    • PhysicalIO: sumber daya I/O yang dikonsumsi oleh sesi untuk mengeksekusi pernyataan SQL yang diminta. Setiap I/O fisik sama dengan 8 KB.

    • QueryHash: nilai hash dari pernyataan yang diminta dalam sesi. Nilai hash dari jenis pernyataan SQL yang sama adalah identik.

    • StartTime: waktu ketika sistem mulai mengeksekusi batch pernyataan SQL yang berisi pernyataan SQL yang diminta dalam sesi. Setiap batch dapat berisi beberapa pernyataan SQL dan berbagi sumber daya seperti nilai variabel.

    • Status: status instance RDS.

    • SQL: Jika Anda mengklik ID sesi pemblokiran atau sesi yang diblokir, detail pernyataan SQL yang diminta dalam sesi ditampilkan di bagian Blocking Diagram.

  • Detail SQL

    Dalam diagram pemblokiran, klik ID sesi pemblokiran atau sesi yang diblokir untuk melihat detail pernyataan SQL yang diminta dalam sesi. Anda juga dapat copy dan menganalisis lebih lanjut pernyataan tersebut.