Spec-Zone.ru › MySQL 9.2

17.8.12 Включение автоматической конфигурации InnoDB для выделенного сервера MySQL

При запуске сервера с --innodb-dedicated-server, InnoDB автоматически вычисляет значения и устанавливает следующие системные переменные:

  • innodb_buffer_pool_size

  • innodb_redo_log_capacity

  • innodb_log_file_size

  • innodb_log_files_in_group

Рекомендуется использовать --innodb-dedicated-server только в том случае, если экземпляр MySQL находится на выделенном сервере, где он может использовать все доступные системные ресурсы — например, если вы запускаете MySQL Server в контейнере Docker или виртуальной машине, предназначенной только для MySQL. Использование --innodb-dedicated-server не рекомендуется, если экземпляр MySQL разделяет системные ресурсы с другими приложениями.

Значение каждой затронутой переменной определяется и применяется --innodb-dedicated-server, как описано в следующем списке:

  • innodb_buffer_pool_size

    Размер буферного пула вычисляется в соответствии с объёмом памяти, обнаруженной на сервере, как показано в следующей таблице:

    Таблица 17.8 Автоматически настроенный размер буферного пула

    Таблица 17.8 Автоматически настроенный размер буферного пула
    Обнаруженная память сервера Размер буферного пула
    Менее 1 ГБ 128 МБ (значение по умолчанию)
    От 1 ГБ до 4 ГБ detected server memory * 0,5
    Более 4 ГБ detected server memory * 0,75

  • innodb_redo_log_capacity

    Емкость журнала редо вычисляется в соответствии с количеством логических процессоров, доступных на сервере. Формула: (количество доступных логических процессоров / 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.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/innodb-dedicated-server.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API