мы пытаемся повысить эффективность нашего сервера базы данных.
Одной из рекомендаций MySQLTunner является увеличение размера innodb_log_file_size до 12 ГБ. Как мы видим, это изменение может значительно улучшить скорость и производительность наших запросов. Проблема возникла, когда мы увеличили этот параметр более чем на 1 ГБ, служба не запустилась, мы удалили журналы, аккуратно остановили ее и по-прежнему не можем запустить этот параметр выше 1 ГБ.
Someinfo:
mysql Ver 14.14 Distrib 5.5.62, for debian-linux-gnu
innodb_buffer_pool_size = 100G
innodb_file_per_table = ON
innodb_buffer_pool_instances = 64
innodb_stats_on_metadata = OFF
innodb_log_file_size = 1G
innodb_log_buffer_size = 8M
Существует также достаточно места в разделах для хранения этого размера журнала
Спасибо!
В MySQL 5.5 нельзя увеличить размер файла журнала innodb более чем на 4 ГБ. Значение innodb_log_file_size
может составлять только 4 ГБ /innodb_log_files_in_group
(по умолчанию оно равно 2, и изменять его не имеет смысла). Таким образом, вы можете установить максимальный размер файла журнала 2 ГБ.
См. Https://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_log_file_size
Второй ответ Рика Джеймса, что увеличение размера файла журнала не является волшебным решением для ускорения выполнения запросов. Это не будет делать это.
Иногда полезно увеличить размер файла журнала innodb, если узким местом является то, что вы исчерпываете пространство журнала быстрее, чем грязные страницы могут быть сброшены в табличное пространство, потому что у вас очень высокий трафик записи. На это влияет скорость записи, а не скорость отдельной записи.
Для большинства приложений двух файлов журнала объемом 2 ГБ более чем достаточно. Если это не так, возможно, пришло время запустить несколько экземпляров MySQL и распределить трафик записи по ним как можно более равномерно.
Сложно изменить log_file_size в этой старой версии. Инструкции см. В https://dba.stackexchange.com/questions/1261/how-to-safely-change-mysql-innodb-variable-innodb-log-file-size/4103#4103.
Тем не менее, я предсказываю, что изменение log_file_size не сильно поможет. "Производительность" обычно подразумевает несколько медленных запросов. Вы включили замедленный журнал? с низким значением long_query_time
? Найдите несколько худших запросов; мы можем, вероятно, улучшить производительность, решая их. Шаги на это: http://mysql.rjweb.org/doc.php/mysql_analysis
Если вы измените параметр innodb_log_file_size
, вам необходимо удалить старые файлы журнала. В противном случае Innodb не запустится успешно, если существующие файлы не соответствуют указанному размеру в файле конфигурации.
С другой стороны, для innodb_buffer_pool_size
должно быть установлено около 70% доступной оперативной памяти, если вы используете только InnoDB.