Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Peristiwa tunggu Aurora MySQL
Berikut ini adalah beberapa peristiwa tunggu umum di Aurora MySQL.
catatan
Untuk informasi tentang menyesuaikan performa Aurora MySQL menggunakan peristiwa tunggu, lihat Menyesuaikan Aurora MySQL dengan peristiwa tunggu.
Untuk informasi tentang konvensi penamaan yang digunakan dalam peristiwa tunggu MySQL, lihat Performance Schema instrument naming conventions
- cpu
-
Jumlah koneksi aktif yang siap dijalankan secara konsisten lebih tinggi daripada jumlah vCPU. Untuk informasi selengkapnya, lihat cpu.
- io/aurora_redo_log_flush
-
Sesi mempersistensi data ke penyimpanan Aurora. Biasanya, peristiwa tunggu ini ditujukan untuk operasi I/O tulis di Aurora MySQL. Untuk informasi selengkapnya, lihat io/aurora_redo_log_flush.
- io/aurora_respond_to_client
-
Pemrosesan kueri telah selesai dan hasilnya ditampilkan ke klien aplikasi untuk versi MySQL Aurora berikut: 2.10.2 dan versi 2.10 yang lebih tinggi, versi 2.09.3 dan versi 2.09 yang lebih tinggi, serta versi 2.07.7 dan versi 2.07 yang lebih tinggi. Bandingkan bandwidth jaringan kelas instans DB dengan ukuran set hasil yang ditampilkan. Selain itu, periksa waktu respons sisi klien. Jika klien tidak responsif dan tidak dapat memproses paket TCP, penghapusan paket dan transmisi ulang TCP dapat terjadi. Situasi ini berdampak negatif pada bandwidth jaringan. Dalam versi yang lebih rendah dari 2.10.2, 2.09.3, dan 2.07.7, peristiwa tunggu secara keliru menyertakan waktu idle. Untuk mempelajari cara menyesuaikan basis data Anda saat peristiwa waktu tunggu ini sering muncul, lihat io/aurora_respond_to_client.
- io/file/csv/data
-
Thread menulis ke tabel dalam format nilai yang dipisahkan koma (CSV). Periksa penggunaan tabel CSV Anda. Penyebab umum peristiwa ini adalah mengatur
log_output
pada tabel. - io/file/sql/binlog
-
Thread sedang menunggu file log biner (binlog) yang sedang ditulis ke disk.
- io/redo_log_flush
-
Sesi mempersistensi data ke penyimpanan Aurora. Biasanya, peristiwa tunggu ini ditujukan untuk operasi I/O tulis di Aurora MySQL. Untuk informasi selengkapnya, lihat io/redo_log_flush.
- io/socket/sql/client_connection
-
Program
mysqld
sibuk membuat thread untuk menangani koneksi klien baru yang masuk. Untuk informasi selengkapnya, lihat io/socket/sql/client_connection. - io/table/sql/handler
-
Mesin sedang menunggu akses ke tabel. Peristiwa ini terjadi terlepas dari apakah data di-cache di pool buffer atau diakses pada disk. Untuk informasi selengkapnya, lihat io/table/sql/handler.
- lock/table/sql/handler
-
Peristiwa tunggu ini adalah handler peristiwa tunggu kunci tabel. Untuk informasi selengkapnya tentang peristiwa atom dan molekul di Skema Performa, lihat Performance Schema atom and molecule events
dalam dokumentasi MySQL. - synch/cond/innodb/row_lock_wait
-
Pernyataan bahasa manipulasi data (DML) mengakses baris basis data yang sama pada saat yang bersamaan. Untuk informasi selengkapnya, lihat synch/cond/innodb/row_lock_wait.
- synch/cond/innodb/row_lock_wait_cond
-
Beberapa pernyataan DML mengakses baris basis data yang sama secara bersamaan. Untuk informasi selengkapnya, lihat synch/cond/innodb/row_lock_wait_cond.
- synch/cond/sql/MDL_context::COND_wait_status
-
Thread sedang menunggu kunci metadata tabel. Mesin menggunakan jenis kunci ini untuk mengelola akses konkuren ke skema basis data dan untuk memastikan konsistensi data. Untuk informasi selengkapnya, lihat Optimizing locking operations
dalam dokumentasi MySQL. Untuk mempelajari cara menyesuaikan basis data Anda saat peristiwa ini sering muncul, lihat synch/cond/sql/MDL_context::COND_wait_status. - synch/cond/sql/MYSQL_BIN_LOG::COND_done
-
Anda telah mengaktifkan logging biner. Mungkin ada throughput commit yang tinggi, transaksi dalam jumlah besar yang di-commit, atau replika yang membaca binlog. Pertimbangkan untuk menggunakan pernyataan multibaris atau menggabungkan pernyataan ke dalam satu transaksi. Di Aurora, gunakan basis data global alih-alih replikasi log biner, atau gunakan parameter
aurora_binlog_*
. - synch/mutex/innodb/aurora_lock_thread_slot_futex
-
Beberapa pernyataan DML mengakses baris basis data yang sama secara bersamaan. Untuk informasi selengkapnya, lihat synch/mutex/innodb/aurora_lock_thread_slot_futex.
- synch/mutex/innodb/buf_pool_mutex
-
Pool buffer tidak cukup besar untuk menampung set data kerja. Atau, beban kerja mengakses halaman dari tabel tertentu, yang mengakibatkan pertentangan di pool buffer. Untuk informasi selengkapnya, lihat synch/mutex/innodb/buf_pool_mutex.
- synch/mutex/innodb/fil_system_mutex
-
Proses sedang menunggu akses ke cache memori ruang tabel. Untuk informasi selengkapnya, lihat synch/mutex/innodb/fil_system_mutex.
- synch/mutex/innodb/trx_sys_mutex
-
Operasi memeriksa, memperbarui, menghapus, atau menambahkan ID transaksi di InnoDB secara konsisten atau terkontrol. Operasi ini memerlukan panggilan mutex
trx_sys
, yang dilacak oleh instrumentasi Skema Performa. Operasi mencakup manajemen sistem transaksi ketika basis data dimulai atau dinonaktifkan, rollback, pembersihan undo, akses baca baris, dan beban pool buffer. Beban basis data yang tinggi dengan sejumlah besar transaksi mengakibatkan seringnya kemunculan peristiwa tunggu ini. Untuk informasi selengkapnya, lihat synch/mutex/innodb/trx_sys_mutex. - synch/mutex/mysys/KEY_CACHE::cache_lock
-
Mutex
keycache->cache_lock
mengontrol akses ke cache kunci untuk tabel MyISAM. Meskipun Aurora MySQL tidak mengizinkan penggunaan tabel MyISAM untuk menyimpan data persisten, tabel tersebut digunakan untuk menyimpan tabel sementara internal. Pertimbangkan untuk memeriksa penghitung statuscreated_tmp_disk_tables
ataucreated_tmp_tables
karena dalam situasi tertentu, tabel sementara ditulis ke disk ketika tidak lagi muat dalam memori. - synch/mutex/sql/FILE_AS_TABLE::LOCK_offsets
-
Mesin memperoleh mutex ini saat membuka atau membuat file metadata tabel. Ketika peristiwa tunggu ini terjadi dengan frekuensi yang berlebihan, jumlah tabel yang dibuat atau dibuka telah melonjak.
- synch/mutex/sql/FILE_AS_TABLE::LOCK_shim_lists
-
Mesin memperoleh mutex ini saat melakukan operasi seperti
reset_size
,detach_contents
, atauadd_contents
pada struktur internal yang melacak tabel yang dibuka. Mutex menyinkronkan akses ke konten daftar. Ketika peristiwa tunggu ini terjadi dengan frekuensi tinggi, ini menunjukkan perubahan mendadak dalam kumpulan tabel yang sebelumnya diakses. Mesin perlu mengakses tabel baru atau melepaskan konteks yang terkait dengan tabel yang diakses sebelumnya. - synch/mutex/sql/LOCK_open
-
Jumlah tabel yang dibuka sesi Anda melebihi ukuran cache definisi tabel atau cache pembukaan tabel. Tingkatkan ukuran cache ini. Untuk informasi selengkapnya, lihat Cara MySQL membuka dan menutup tabel
. - synch/mutex/sql/LOCK_table_cache
-
Jumlah tabel yang dibuka sesi Anda melebihi ukuran cache definisi tabel atau cache pembukaan tabel. Tingkatkan ukuran cache ini. Untuk informasi selengkapnya, lihat Cara MySQL membuka dan menutup tabel
. - synch/mutex/sql/LOG
-
Dalam peristiwa tunggu ini, terdapat thread yang menunggu kunci log. Misalnya, thread mungkin akan menunggu kunci untuk menulis ke file log kueri lambat.
- synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit
-
Dalam peristiwa tunggu ini, ada thread yang menunggu untuk mendapatkan kunci dengan tujuan melakukan commit ke log biner. Pertentangan log biner dapat terjadi pada basis data dengan tingkat perubahan yang sangat tinggi. Tergantung pada versi MySQL, terdapat beberapa kunci yang digunakan untuk melindungi konsistensi dan durabilitas log biner. Di RDS for MySQL, log biner digunakan untuk replikasi dan proses pencadangan otomatis. Di Aurora MySQL, log biner tidak diperlukan untuk replikasi atau pencadangan native. Opsi ini dinonaktifkan secara default, tetapi dapat diaktifkan dan digunakan untuk replikasi eksternal atau penangkapan data perubahan. Untuk informasi selengkapnya, lihat The binary log
dalam dokumentasi MySQL. - sync/mutex/sql/MYSQL_BIN_LOG::LOCK_dump_thread_metrics_collection
-
Jika logging biner diaktifkan, mesin memperoleh mutex ini saat mencetak metrik thread dump aktif ke log kesalahan mesin dan ke peta operasi internal.
- sync/mutex/sql/MYSQL_BIN_LOG::LOCK_inactive_binlogs_map
-
Jika logging biner diaktifkan, mesin memperoleh mutex ini ketika menambahkan, menghapus dari, atau mencari melalui daftar file binlog di belakang yang terbaru.
- sync/mutex/sql/MYSQL_BIN_LOG::LOCK_io_cache
-
Jika logging biner diaktifkan, mesin memperoleh mutex ini selama operasi cache Aurora IO binlog: mengalokasikan, mengubah ukuran, membebaskan, menulis, membaca, membersihkan, dan mengakses info cache. Jika peristiwa ini sering terjadi, mesin mengakses cache tempat peristiwa binlog disimpan. Untuk mengurangi waktu tunggu, kurangi commit. Cobalah mengelompokkan beberapa pernyataan ke dalam satu transaksi.
- synch/mutex/sql/MYSQL_BIN_LOG::LOCK_log
-
Anda telah mengaktifkan logging biner. Mungkin ada throughput commit yang tinggi, banyak transaksi yang dilakukan, atau replika yang membaca binlog. Pertimbangkan untuk menggunakan pernyataan multibaris atau menggabungkan pernyataan ke dalam satu transaksi. Di Aurora, gunakan basis data global alih-alih replikasi log biner atau gunakan parameter
aurora_binlog_*
. - synch/mutex/sql/SERVER_THREAD::LOCK_sync
-
Mutex
SERVER_THREAD::LOCK_sync
diperoleh selama penjadwalan, pemrosesan, atau peluncuran thread untuk penulisan file. Terjadinya peristiwa tunggu yang berlebihan ini menunjukkan peningkatan aktivitas penulisan dalam basis data. - synch/mutex/sql/TABLESPACES:lock
-
Mesin memperoleh mutex
TABLESPACES:lock
selama operasi ruang tabel berikut: membuat, menghapus, memotong, dan memperpanjang. Terjadinya peristiwa tunggu yang berlebihan ini menunjukkan frekuensi operasi ruang tabel yang tinggi. Contohnya adalah memuat sejumlah besar data ke dalam basis data. - synch/rwlock/innodb/dict
-
Dalam peristiwa tunggu ini, ada thread yang menunggu rwlock yang dipertahankan di kamus data InnoDB.
- synch/rwlock/innodb/dict_operation_lock
-
Dalam peristiwa tunggu ini, ada thread yang menahan kunci di operasi kamus data InnoDB.
- synch/rwlock/innodb/dict sys RW lock
-
Sejumlah besar pernyataan bahasa kontrol data (DCL) konkuren dalam kode bahasa definisi data (DDL) dipicu pada saat yang bersamaan. Kurangi dependensi aplikasi pada DDL selama aktivitas aplikasi reguler.
- synch/rwlock/innodb/index_tree_rw_lock
-
Sejumlah besar pernyataan bahasa manipulasi data (DML) yang serupa mengakses objek basis data yang sama secara bersamaan. Coba gunakan pernyataan multibaris. Selain itu, sebarkan beban kerja ke objek basis data yang berbeda-beda. Misalnya, dengan menerapkan partisi.
- synch/sxlock/innodb/dict_operation_lock
-
Sejumlah besar pernyataan bahasa kontrol data (DCL) konkuren dalam kode bahasa definisi data (DDL) dipicu pada saat yang bersamaan. Kurangi dependensi aplikasi pada DDL selama aktivitas aplikasi reguler.
- synch/sxlock/innodb/dict_sys_lock
-
Sejumlah besar pernyataan bahasa kontrol data (DCL) konkuren dalam kode bahasa definisi data (DDL) dipicu pada saat yang bersamaan. Kurangi dependensi aplikasi pada DDL selama aktivitas aplikasi reguler.
- synch/sxlock/innodb/hash_table_locks
-
Sesi tidak dapat menemukan halaman dalam pool buffer. Mesin perlu membaca file atau memodifikasi daftar least-recently used (LRU) untuk pool buffer. Pertimbangkan untuk meningkatkan ukuran cache buffer dan meningkatkan jalur akses untuk kueri yang relevan.
- synch/sxlock/innodb/index_tree_rw_lock
-
Banyak pernyataan bahasa manipulasi data (DML) yang serupa mengakses objek basis data yang sama secara bersamaan. Coba gunakan pernyataan multibaris. Selain itu, sebarkan beban kerja ke objek basis data yang berbeda-beda. Misalnya, dengan menerapkan partisi.
Untuk informasi selengkapnya tentang pemecahan masalah peristiwa tunggu sinkronisasi, lihat Mengapa instans DB MySQL saya menampilkan sejumlah besar sesi aktif yang menunggu peristiwa tunggu SYNCH di Wawasan Performa?