Mengoptimalkan penulisan di depan pengelogan

Selesai

Penulisan di depan pengelogan (WAL) menulis perubahan terlebih dahulu ke log, lalu menerapkannya ke database. Log mesin penyimpanan InnoDB disebut log fase pengulangan. Jika server crash, atau terputus dari daya, perubahan apa pun yang tidak ditulis ke disk diterapkan dari log fase pengulangan.

Ini berarti berbagai perubahan dapat ditulis ke disk secara bersamaan, bukan dilakukan secara individual. Hal ini dapat berdampak signifikan dan positif terhadap performa.

Ini juga berarti bahwa mengonfigurasi ukuran file log fase pengulangan dengan benar sangatlah penting. Perubahan yang berukuran kecil harus lebih sering ditulis ke disk, yang berdampak negatif terhadap performa.

Secara default, log fase pengulangan terdiri dari dua file. Azure Database for MySQL memungkinkan Anda mengonfigurasi penyimpanan file log:

  • innodb_log_files_in_group menetapkan jumlah file log - nilai default dan yang disarankan adalah 2.
  • Innodb_log_file_size menentukan ukuran log dalam byte - defaultnya adalah 268435456 byte (256 MB).
  • Innodb_log_write_ahead_size menentukan ukuran blok write ahead untuk log fase pengulangan - defaultnya adalah 8192 byte.
  • Innodb_redo_log_encrypt menentukan apakah data log fase pengulangan harus dienkripsi atau tidak untuk tabel terenkripsi - defaultnya adalah NONAKTIF.