innodb_flush_log_at_trx_commit и рекомендуемые значения

Параметр innodb_flush_log_at_trx_commit позволяет выбрать стратегию сброса данных на диск при работе MySQL.

Этот параметр настраивается в файле my.cnf (обычно /etc/mysql/my.cnf).

nano /etc/mysql/my.cnf

Три варианта значений

innodb_flush_log_at_trx_commit = 1

Значение "1" означает, что любая завершенная транзакция будет синхронно сбрасывать лог на диск. Это вариант по-умолчанию, он является самым надежным с точки зрения сохранности данных, но самым медленным по скорости работы.

innodb_flush_log_at_trx_commit = 2

Значение "2" делает то же самое, только сбрасывает лог не на диск, а в кеш операционной системы (т.е. не происходит flush после каждой операции). Это значение подойдет в большинстве случаев, т.к. не выполняет дорогой операции записи после каждой транзакции. При этом лог пишется на диск с задержкой в несколько секунд, что весьма безопасно с точки зрения сохранности данных.

innodb_flush_log_at_trx_commit = 0

Значение "0" даст наибольшую производительность. В этом случае буфер будет сбрасываться в лог файл независимо от транзакций. В этом случае риск потери данных возрастает.

После изменения этого параметра, необходимо перезагружать mysql:

/etc/init.d/mysql restart

Про этот и другой параметр в оптимальной настройке MySQL.


Подпишитесь на Хайлоад с помощью Google аккаунта
или закройте эту хрень