Status thread Aurora MySQL - Amazon Aurora

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

Status thread Aurora MySQL

Berikut ini adalah beberapa status thread umum untuk Aurora MySQL.

memeriksa izin

Thread memeriksa apakah server memiliki hak akses yang diperlukan untuk menjalankan pernyataan.

memeriksa cache kueri untuk kueri

Server memeriksa apakah kueri saat ini ada di cache kueri.

dibersihkan

Ini adalah status akhir dari koneksi yang pekerjaannya selesai, tetapi belum ditutup oleh klien. Solusi terbaik adalah secara eksplisit menutup koneksi dalam kode. Atau, Anda dapat menetapkan nilai yang lebih rendah untuk wait_timeout di grup parameter Anda.

menutup tabel

Thread melakukan flushing data tabel yang diubah ke disk dan menutup tabel yang digunakan. Jika operasi ini tidak cepat, periksa metrik konsumsi bandwidth jaringan berdasarkan bandwidth jaringan kelas instans. Selain itu, periksa apakah nilai untuk parameter table_open_cache dan table_definition_cache memungkinkan tabel yang cukup dibuka secara bersamaan sehingga mesin tidak perlu sering membuka dan menutup tabel. Parameter ini memengaruhi konsumsi memori pada instans.

mengonversi HEAP ke MyISAM

Kueri mengonversi tabel sementara dari dalam memori ke di disk. Konversi ini diperlukan karena tabel sementara yang dibuat oleh MySQL dalam langkah-langkah perantara pemrosesan kueri bertambah terlalu banyak untuk memori. Periksa nilai tmp_table_size dan max_heap_table_size. Di versi yang lebih baru, nama status thread ini adalah converting HEAP to ondisk.

mengonversi HEAP ke di disk

Thread mengonversi tabel sementara internal dari tabel dalam memori ke tabel di disk.

salin ke tabel sementara

Thread sedang memproses pernyataan ALTER TABLE. Status ini terjadi setelah tabel dengan struktur baru telah dibuat, tetapi sebelum baris disalin ke dalamnya. Untuk thread dalam status ini, Anda dapat menggunakan Skema Performa untuk mendapatkan informasi tentang progres operasi penyalinan.

membuat indeks pengurutan

Aurora MySQL melakukan pengurutan karena tidak dapat menggunakan indeks yang ada untuk memenuhi klausa ORDER BY atau GROUP BY pada kueri. Untuk informasi selengkapnya, lihat creating sort index.

membuat tabel

Thread membuat tabel permanen atau sementara.

commit tertunda ok selesai

Commit asinkron di Aurora MySQL telah menerima konfirmasi dan selesai.

commit tertunda ok diinisiasi

Thread Aurora MySQL telah memulai proses commit asinkron, tetapi sedang menunggu konfirmasi. Status ini biasanya menunjukkan waktu commit yang sebenarnya dari suatu transaksi.

pengiriman tertunda ok selesai

Thread pekerja Aurora MySQL yang terikat ke koneksi dapat dibebaskan saat respons dikirim ke klien. Utas dapat memulai pekerjaan lain. Status delayed send ok berarti bahwa konfirmasi asinkron ke klien selesai.

pengiriman tertunda ok diinisiasi

Thread pekerja Aurora MySQL telah mengirim respons secara asinkron ke klien dan sekarang bebas melakukan pekerjaan untuk koneksi lain. Transaksi telah memulai proses commit asinkron yang belum dikonfirmasi.

mengeksekusi

Thread telah mulai menjalankan pernyataan.

membebaskan item

Thread telah menjalankan perintah. Beberapa pembebasan item yang dilakukan selama status ini memerlukan cache kueri. Status ini biasanya diikuti dengan pembersihan.

inisialisasi

Status ini terjadi sebelum inisialisasi pernyataan ALTER TABLE, DELETE, INSERT, SELECT, atau UPDATE. Tindakan dalam status ini termasuk flushing log biner atau log InnoDB, dan beberapa pembersihan cache kueri.

master telah mengirim semua binlog ke slave

Simpul primer telah menyelesaikan bagiannya dalam replikasi. Thread sedang menunggu lebih banyak kueri untuk dijalankan sehingga dapat menulis ke log biner (binlog).

membuka tabel

Thread mencoba membuka tabel. Operasi ini cepat kecuali jika pernyataan ALTER TABLE atau LOCK TABLE perlu diselesaikan, atau melebihi nilai table_open_cache.

mengoptimalkan

Server melakukan optimisasi awal untuk kueri.

mempersiapkan

Status ini terjadi selama optimisasi kueri.

akhir kueri

Status ini terjadi setelah memproses kueri, tetapi sebelum status membebaskan item.

menghapus duplikat

Aurora MySQL tidak dapat mengoptimalkan operasi DISTINCT pada tahap awal kueri. Aurora MySQL harus menghapus semua baris duplikat sebelum mengirim hasilnya ke klien.

mencari baris untuk pembaruan

Thread mencari semua baris yang cocok sebelum memperbaruinya. Tahap ini diperlukan jika UPDATE mengubah indeks yang digunakan mesin untuk menemukan baris.

mengirim peristiwa binlog ke slave

Thread membaca peristiwa dari log biner dan mengirimkannya ke replika.

mengirim hasil yang di-cache ke klien

Server mengambil hasil kueri dari cache kueri dan mengirimkannya ke klien.

mengirim data

Thread sedang membaca dan memproses baris untuk pernyataan SELECT, tetapi belum mulai mengirim data ke klien. Proses ini mengidentifikasi halaman mana yang berisi hasil yang diperlukan untuk memenuhi kueri. Untuk informasi selengkapnya, lihat sending data.

mengirim ke klien

Server menulis paket ke klien. Dalam versi MySQL sebelumnya, peristiwa tunggu ini diberi label writing to net.

memulai

Ini adalah tahap pertama di awal eksekusi pernyataan.

statistik

Server menghitung statistik untuk mengembangkan rencana eksekusi kueri. Jika thread dalam status ini dalam waktu yang lama, server mungkin terikat pada disk sambil melakukan pekerjaan lain.

menyimpan hasil dalam cache kueri

Server menyimpan hasil kueri dalam cache kueri.

kunci sistem

Thread telah memanggil mysql_lock_tables, tetapi status thread belum diperbarui sejak panggilan ini. Status umum ini terjadi karena berbagai alasan.

perbarui

Thread sedang bersiap untuk mulai memperbarui tabel.

memperbarui

Thread sedang mencari baris dan memperbaruinya.

kunci pengguna

Thread mengeluarkan panggilan GET_LOCK. Thread meminta kunci advisory dan sedang menunggunya, atau berencana untuk memintanya.

menunggu pembaruan lainnya

Simpul primer telah menyelesaikan bagiannya dalam replikasi. Thread sedang menunggu lebih banyak kueri untuk dijalankan sehingga dapat menulis ke log biner (binlog).

menunggu kunci metadata skema

Ini adalah peristiwa tunggu untuk kunci metadata.

menunggu kunci metadata fungsi tersimpan

Ini adalah peristiwa tunggu untuk kunci metadata.

menunggu kunci metadata prosedur tersimpan

Ini adalah peristiwa tunggu untuk kunci metadata.

menunggu flushing tabel

Thread sedang menjalankan FLUSH TABLES dan sedang menunggu semua thread untuk menutup tabelnya. Atau, thread menerima notifikasi bahwa struktur dasar untuk tabel berubah, sehingga harus membuka kembali tabel untuk mendapatkan struktur baru. Untuk membuka kembali tabel, thread harus menunggu sampai semua thread lainnya menutup tabel. Notifikasi ini terjadi jika thread lain telah menggunakan salah satu pernyataan berikut di tabel: FLUSH TABLES, ALTER TABLE, RENAME TABLE, REPAIR TABLE, ANALYZE TABLE, atau OPTIMIZE TABLE.

menunggu kunci tingkat tabel

Satu sesi mempertahankan kunci di tabel sementara sesi lain mencoba mendapatkan kunci yang sama di tabel yang sama.

menunggu kunci metadata tabel

Aurora MySQL menggunakan penguncian metadata untuk mengelola akses konkuren ke objek basis data dan untuk memastikan konsistensi data. Dalam peristiwa tunggu ini, satu sesi mempertahankan kunci metadata di tabel sementara sesi lain mencoba mendapatkan kunci yang sama di tabel yang sama. Saat Skema Performa diaktifkan, status thread ini dilaporkan sebagai peristiwa tunggu synch/cond/sql/MDL_context::COND_wait_status.

menulis ke net

Server sedang menulis paket ke jaringan. Dalam versi MySQL yang lebih baru, peristiwa tunggu ini diberi label Sending to client.