Spec-Zone.ru › MariaDB

Динамическое изменение размера буфера пула InnoDB

Изменение размера буфера пула выполняется частями, определяемыми размером переменной innodb_buffer_pool_chunk_size.

Операция изменения размера ожидает завершения всех активных транзакций и операций, и новые транзакции и операции, которым требуется доступ к буферному пулу, должны дождаться завершения изменения размера (хотя при уменьшении размера доступ разрешен при фрагментации и изъятии страниц).

Вложенные транзакции могут завершиться ошибкой, если они начаты после начала изменения размера буферного пула.

Новый размер буфера пула должен быть кратен innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances (обратите внимание, что innodb_buffer_pool_instances игнорируется с MariaDB 10.5 и удалено в MariaDB 10.6, так как буферный пул больше не разделен на несколько экземпляров). Если вы попытаетесь установить другое значение, значение автоматически корректируется до кратного, по крайней мере, попытанному размеру. Обратите внимание, что изменение настройки innodb_buffer_pool_chunk_size может привести к изменению размера буфера пула.

Число частей, рассчитанное по формуле innodb_buffer_pool_size / innodb_buffer_pool_chunk_size, не должно превышать 1000 для предотвращения проблем с производительностью.

Ресайз выполняется фоновым потоком. Переменная состояния Innodb_buffer_pool_resize_status показывает ход операции ресайза, например:

SHOW STATUS LIKE 'Innodb_buffer_pool_resize_status';
+----------------------------------+----------------------------------+
| Variable_name                    | Value                            |
+----------------------------------+----------------------------------+
| Innodb_buffer_pool_resize_status | Resizing also other hash tables. |
+----------------------------------+----------------------------------+

или

SHOW STATUS LIKE 'Innodb_buffer_pool_resize_status';
+----------------------------------+----------------------------------------------------+
| Variable_name                    | Value                                              |
+----------------------------------+----------------------------------------------------+
| Innodb_buffer_pool_resize_status | Completed resizing buffer pool at 161103 16:26:54. |
+----------------------------------+----------------------------------------------------+

Прогресс также регистрируется в журнале ошибок.

Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в данном содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/setting-innodb-buffer-pool-size-dynamically/

Spec-Zone.ru

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