17.8.3.2 Настройка нескольких экземпляров буфера пула
Для систем с буферами пула в диапазоне нескольких гигабайт разделение буфера пула на отдельные экземпляры может улучшить конкуретность, уменьшив конфликт при чтении и записи кэшированных страниц различными потоками. Данная функция, как правило, предназначена для систем размером в диапазоне нескольких гигабайт. Несколько экземпляров буфера пула настраиваются с помощью параметра конфигурации innodb_buffer_pool_instances, и вы можете также скорректировать значение innodb_buffer_pool_size.
Когда буфер пул InnoDB большой, многие запросы к данным могут быть удовлетворены за счёт извлечения из памяти. Вы можете столкнуться с узкими местами из-за нескольких потоков, пытающихся одновременно получить доступ к буферу пула. Вы можете включить несколько буферов пула, чтобы свести к минимуму этот конфликт. Каждая страница, которая хранится в или читается из буфера пула, случайным образом назначается одному из буферов пула с использованием хеш-функции. Каждый буфер пула управляет своими собственными свободными списками, списками сброса, LRUs и всеми другими структурами данных, связанными с буфером пула.
Чтобы включить несколько экземпляров буфера пула, установите параметр конфигурации innodb_buffer_pool_instances на значение больше 1 (по умолчанию) до 64 (максимальное значение). Этот параметр вступает в силу только при установке innodb_buffer_pool_size до размера 1 ГБ и более. Указанный вами общий размер делится между всеми буферами пула. Для наилучшей эффективности укажите комбинацию innodb_buffer_pool_instances и innodb_buffer_pool_size таким образом, чтобы каждый экземпляр буфера пула был не менее 1 ГБ.
Дополнительную информацию о изменении размера буфера пула InnoDB см. в разделе 17.8.3.1 «Настройка размера буфера пула InnoDB».
© 2025 Oracle
Licensed under the GPLv2 License.