Optymalizuj rejestrowanie zapisu z wyprzedzeniem

Ukończone

Mechanizm WAL (rejestrowanie z wyprzedzeniem) zapisuje zmiany najpierw w dzienniku, a następnie zatwierdza je w bazie danych. Dziennik silnika magazynującego InnoDB jest nazywany dziennikiem ponownego wykonywania. Jeśli serwer ulegnie awarii lub odłączony od zasilania, wszystkie zmiany, które nie zostały zapisane na dysku, zostaną zastosowane z dziennika ponownego użycia.

Oznacza to, że wiele zmian można zapisywać na dysku razem, a nie każdy z nich jest zatwierdzany indywidualnie. Może to mieć znaczący i pozytywny wpływ na wydajność.

Oznacza to również, że prawidłowe skonfigurowanie rozmiaru pliku dziennika ponownego rejestrowania jest ważne. Zbyt małe i zmiany muszą być zapisywane na dysku częściej, co ma negatywny wpływ na wydajność.

Domyślnie dziennik ponownego tworzenia składa się z dwóch plików. Usługa Azure Database for MySQL umożliwia skonfigurowanie magazynu plików dziennika:

  • innodb_log_files_in_group ustawia liczbę plików dziennika — wartość domyślna i zalecana to 2.
  • innodb_log_file_size definiuje rozmiar dziennika w bajtach — wartość domyślna to 268435456 bajtów (256 MB).
  • innodb_log_write_ahead_size definiuje rozmiar bloku zapisu z wyprzedzeniem dla dziennika odtwarzania — wartość domyślna to 8192 bajty.
  • innodb_redo_log_encrypt określa, czy dane dziennika ponownego mają być szyfrowane dla zaszyfrowanych tabel — wartość domyślna to OFF.