17.8.12 Включение автоматической конфигурации InnoDB для выделенного сервера MySQL
При запуске сервера с --innodb-dedicated-server, InnoDB автоматически вычисляет и устанавливает значения следующих системных переменных:
innodb_redo_log_capacity заменяет как innodb_log_file_size, так и innodb_log_files_in_group, которые устанавливались --innodb-dedicated-server в более ранних версиях MySQL, но которые с тех пор устарели. Ожидается, что innodb_log_file_size и innodb_log_files_in_group будут удалены в будущей версии MySQL.
В MySQL 8.0, innodb_flush_method также устанавливалось автоматически с помощью этого параметра, но в MySQL 8.4 это больше не так.
Следует рассмотреть использование --innodb-dedicated-server только в том случае, если экземпляр MySQL находится на выделенном сервере, где он может использовать все доступные системные ресурсы — например, если вы запускаете MySQL Server в контейнере Docker или выделенной виртуальной машине, на которой работает только MySQL. Использование --innodb-dedicated-server не рекомендуется, если экземпляр MySQL разделяет системные ресурсы с другими приложениями.
Значение каждой затронутой переменной определяется и применяется --innodb-dedicated-server, как описано в следующем списке:
-
Размер буфера подкачки рассчитывается в соответствии с объемом памяти, обнаруженным на сервере, как показано в следующей таблице:
Таблица 17.8 Автоматически настроенный размер буфера подкачки
Таблица 17.8 Автоматически настроенный размер буфера подкачки Обнаруженная оперативная память сервера Размер буфера подкачки Менее 1 ГБ 128 МБ (значение по умолчанию) От 1 ГБ до 4 ГБ detected server memory* 0,5Более 4 ГБ detected server memory* 0,75
-
Емкость журнала переопределения рассчитывается в соответствии с количеством логических процессоров, доступных на сервере. Формула: (количество доступных логических процессоров / 2) ГБ, с максимальным динамическим значением по умолчанию 16 ГБ.
-
innodb_log_file_size(устарело)Размер файла журнала устанавливается в соответствии с автоматически настроенным размером буфера подкачки, как показано в следующей таблице:
Таблица 17.9 Автоматически настроенный размер файла журнала
Таблица 17.9 Автоматически настроенный размер файла журнала Размер буфера подкачки Размер файла журнала Менее 8 ГБ 512 МБ От 8 ГБ до 128 ГБ 1024 МБ Более 128 ГБ 2048 МБ
-
innodb_log_files_in_group(устарело)Количество файлов журнала определяется в соответствии с автоматически настроенным размером буфера подкачки, как показано в следующей таблице:
Таблица 17.10 Автоматически настроенное количество файлов журнала
Таблица 17.10 Автоматически настроенное количество файлов журнала Размер буфера подкачки Количество файлов журнала Менее 8 ГБ округлить( buffer pool size)От 8 ГБ до 128 ГБ округлить( buffer pool size* 0,75)Более 128 ГБ 64 ПримечаниеМинимальное значение для
innodb_log_files_in_groupравно2; это нижнее ограничение применяется, если значение, полученное после округления размера буфера подкачки, меньше этого числа.
Если одна из перечисленных переменных установлена явно в файле параметров или где-либо ещё, используется это явное значение, и в stderr отображается предупреждение о запуске, подобное этому:
[Предупреждение] [000000] InnoDB: Параметр innodb_dedicated_server игнорируется для innodb_buffer_pool_size, так как явно задано innodb_buffer_pool_size=134217728.
Установка одной переменной явно не препятствует автоматической конфигурации других параметров.
Если сервер запускается с --innodb-dedicated-server, а innodb_buffer_pool_size установлено явно, настройки переменных, основанные на размере буфера подкачки, используют значение размера буфера подкачки, рассчитанное в соответствии с объёмом памяти, обнаруженной на сервере, а не явно определённое значение размера буфера подкачки.
Настройки автоматической конфигурации применяются --innodb-dedicated-server только при запуске сервера MySQL. Если вы впоследствии явно установите любую из затронутых переменных, это переопределит предварительно определённое значение, и будет применено явно заданное значение. Установка одной из этих переменных в DEFAULT приводит к её установке в фактическое значение по умолчанию, как показано в описании переменной в Руководстве, и не приводит к возврату к значению, установленному --innodb-dedicated-server. Соответствующая системная переменная innodb_dedicated_server изменяется только при запуске сервера с --innodb-dedicated-server (или с --innodb-dedicated-server=ON или --innodb-dedicated-server=OFF); в противном случае она является только для чтения.
© 2025 Oracle
Licensed under the GPLv2 License.