Memecahkan out-of-memory masalah untuk database Aurora MySQL - Amazon Aurora

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

Memecahkan out-of-memory masalah untuk database Aurora MySQL

Parameter tingkat instans aurora_oom_response Aurora MySQL dapat memungkinkan instans DB untuk memantau memori sistem dan memperkirakan memori yang digunakan oleh berbagai pernyataan dan koneksi. Jika sistem kehabisan memori, ia dapat melakukan daftar tindakan untuk mencoba melepaskan memori itu. Ia melakukannya dalam upaya untuk menghindari restart database karena masalah out-of-memory (OOM). Parameter tingkat instance mengambil serangkaian tindakan yang dipisahkan koma yang dilakukan instance DB saat memorinya rendah. aurora_oom_responseParameter ini didukung untuk Aurora MySQL versi 2 dan 3.

Nilai-nilai berikut, dan kombinasinya, dapat digunakan untuk aurora_oom_response parameter. String kosong berarti tidak ada tindakan yang diambil, dan secara efektif mematikan fitur, membuat database rentan terhadap restart OOM.

  • decline— Menolak kueri baru ketika instans DB rendah pada memori.

  • kill_connectMenutup koneksi database yang menghabiskan sejumlah besar memori, dan mengakhiri transaksi saat ini dan pernyataan Data Definition Language (DDL). Respons ini tidak didukung untuk Aurora MySQL versi 2.

    Untuk informasi selengkapnya, lihat pernyataan KILL dalam dokumentasi MySQL.

  • kill_query— Mengakhiri kueri dalam urutan konsumsi memori yang menurun hingga memori instance muncul di atas ambang batas rendah. Pernyataan DDL tidak berakhir.

    Untuk informasi selengkapnya, lihat pernyataan KILL dalam dokumentasi MySQL.

  • print— Hanya mencetak kueri yang menghabiskan sejumlah besar memori.

  • tune – Menyesuaikan cache tabel internal untuk melepas sebagian memori kembali ke sistem. Aurora MySQL mengurangi memori yang digunakan untuk cache seperti dan dalam kondisi memori rendah. table_open_cache table_definition_cache Akhirnya, Aurora MySQL mengatur penggunaan memorinya kembali normal ketika memori sistem tidak lagi rendah.

    Untuk informasi selengkapnya, lihat table_open_cache dan table_definition_cache dalam dokumentasi MySQL.

  • tune_buffer_pool— Mengurangi ukuran kolam buffer untuk melepaskan beberapa memori dan membuatnya tersedia untuk server database untuk memproses koneksi. Respons ini didukung untuk Aurora MySQL versi 3.06 dan lebih tinggi.

    Anda harus memasangkan tune_buffer_pool dengan salah satu kill_query atau kill_connect dalam nilai aurora_oom_response parameter. Jika tidak, pengubahan ukuran kumpulan buffer tidak akan terjadi, bahkan ketika Anda memasukkan tune_buffer_pool dalam nilai parameter.

Dalam versi MySQL Aurora lebih rendah dari 3,06, untuk kelas instans DB dengan memori kurang dari atau sama dengan 4 GiB, ketika instance berada di bawah tekanan memori, tindakan default mencakup,,, dan. print tune decline kill_query Untuk kelas instance DB dengan memori lebih besar dari 4 GiB, nilai parameter kosong secara default (dinonaktifkan).

Di Aurora MySQL versi 3.06 dan lebih tinggi, untuk kelas instans DB dengan memori kurang dari atau sama dengan 4 GiB, Aurora MySQL juga menutup koneksi yang memakan memori teratas (). kill_connect Untuk kelas instance DB dengan memori lebih besar dari 4 GiB, nilai parameter default adalah. print

Di Aurora MySQL versi 3.09 dan lebih tinggi, untuk kelas instans DB dengan memori lebih besar dari 4 GiB, nilai parameter default adalah. print,decline,kill_connect

Jika Anda sering mengalami out-of-memory masalah, penggunaan memori dapat dipantau menggunakan tabel ringkasan memori saat performance_schema diaktifkan.

Untuk CloudWatch metrik Amazon yang terkait dengan OOM, lihatMetrik tingkat instans untuk Amazon Aurora. Untuk variabel status global yang terkait dengan OOM, lihatAurora Variabel status SQL global saya.