LWLock:buffer_content (BufferContent) - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

LWLock:buffer_content (BufferContent)

Peristiwa LWLock:buffer_content terjadi saat suatu sesi menunggu untuk membaca atau menulis halaman data di memori, sementara sesi lain mengunci halaman tersebut untuk penulisan. Di Aurora PostgreSQL 13 dan versi yang lebih tinggi, peristiwa tunggu ini disebut BufferContent.

Versi mesin yang didukung

Informasi peristiwa tunggu ini didukung untuk semua versi Aurora PostgreSQL.

Konteks

Untuk membaca atau memanipulasi data, PostgreSQL mengaksesnya melalui buffer memori bersama. Untuk membaca dari buffer, suatu proses mendapatkan LWLock (lightweight lock) pada konten buffer dalam mode bersama. Untuk menulis ke buffer, aplikasi ini mendapatkan kunci tersebut dalam mode eksklusif. Kunci bersama memungkinkan proses lain untuk secara bersamaan memperoleh kunci bersama pada konten tersebut. Kunci eksklusif mencegah proses lain menerima jenis kunci apa pun.

Peristiwa LWLock:buffer_content (BufferContent) menunjukkan bahwa beberapa proses mencoba mendapatkan kunci pada konten buffer tertentu.

Kemungkinan penyebab peningkatan peristiwa tunggu

Saat peristiwa LWLock:buffer_content (BufferContent) muncul lebih dari biasanya, yang mungkin menunjukkan adanya masalah performa, berikut adalah penyebab umumnya:

Peningkatan pembaruan bersamaan ke data yang sama

Mungkin terdapat peningkatan jumlah sesi bersamaan dengan kueri yang memperbarui konten buffer yang sama. Pertentangan ini dapat lebih terasa pada tabel dengan banyak indeks.

Data beban kerja tidak ada dalam memori

Saat data yang diproses oleh beban kerja aktif tidak ada dalam memori, peristiwa tunggu ini dapat meningkat. Efek ini terjadi karena proses yang menahan kunci dapat melakukannya lebih lama saat menjalankan operasi I/O disk.

Penggunaan batasan kunci asing yang berlebihan

Batasan kunci asing dapat meningkatkan jumlah waktu suatu proses menahan kunci konten buffer. Efek ini terjadi karena operasi baca memerlukan kunci konten buffer bersama pada kunci yang direferensikan saat kunci tersebut diperbarui.

Tindakan

Kami merekomendasikan berbagai tindakan, tergantung pada penyebab peristiwa tunggu Anda. Anda dapat mengidentifikasi peristiwa LWLock:buffer_content (BufferContent) dengan menggunakan Wawasan Performa Amazon RDS atau dengan membuat kueri tampilan pg_stat_activity.

Meningkatkan efisiensi dalam memori

Untuk meningkatkan kemungkinan data beban kerja aktif berada dalam memori, buat partisi tabel atau naikkan skala kelas instans Anda. Untuk informasi tentang kelas instans DB, lihat Kelas instans DB Aurora.

Mengurangi penggunaan batasan kunci asing

Selidiki beban kerja yang mengalami jumlah peristiwa tunggu LWLock:buffer_content (BufferContent) yang tinggi untuk penggunaan batasan kunci asing. Hapus batasan kunci asing yang tidak perlu.

Menghapus indeks yang tidak digunakan

Untuk beban kerja yang mengalami jumlah peristiwa tunggu LWLock:buffer_content (BufferContent) yang tinggi, identifikasi indeks yang tidak digunakan, lalu hapus.