Spec-Zone.ru › MySQL 8.4

17.8.5 Настройка количества фоновых потоков ввода-вывода InnoDB

InnoDB использует фоновые потоки для обработки различных типов запросов ввода-вывода. Вы можете настроить количество фоновых потоков, обрабатывающих запросы чтения и записи на страницы данных, используя параметры конфигурации innodb_read_io_threads и innodb_write_io_threads. Эти параметры обозначают количество фоновых потоков, используемых для запросов чтения и записи соответственно. Они эффективны на всех поддерживаемых платформах. Вы можете задать значения этих параметров в файле опций MySQL (my.cnf или my.ini); динамически изменить значения нельзя. Значение по умолчанию для innodb_read_io_threads равно количеству доступных логических процессоров на системе, делённому на 2, с минимальным значением по умолчанию 4. Значение по умолчанию для innodb_write_io_threads равно 4. Допустимые значения варьируются от 1-64 для обоих параметров.

Цель этих параметров конфигурации — сделать InnoDB более масштабируемым на высокопроизводительных системах. Каждый фоновый поток может обрабатывать до 256 ожидающих запросов ввода-вывода. Основным источником фоновых запросов ввода-вывода являются запросы. InnoDB пытается сбалансировать нагрузку входящих запросов таким образом, чтобы большинство фоновых потоков выполняли работу равномерно. InnoDB также пытается назначать запросы чтения из одного и того же диапазона одному и тому же потоку, чтобы увеличить вероятность объединения запросов. Если у вас высокопроизводительная система ввода-вывода и вы видите более 64 × innodb_read_io_threads ожидающих запросов чтения в выводе SHOW ENGINE INNODB STATUS, вы можете улучшить производительность, увеличив значение innodb_read_io_threads.

В системах Linux InnoDB по умолчанию использует подсистему асинхронного ввода-вывода для выполнения предварительного чтения и записи запросов для страниц файлов данных, что изменяет способ, которым InnoDB фоновые потоки обрабатывают эти типы запросов ввода-вывода. Дополнительную информацию см. в Разделе 17.8.6, «Использование асинхронного ввода-вывода в Linux».

Дополнительную информацию о производительности ввода-вывода InnoDB см. в Разделе 10.5.8, «Оптимизация ввода-вывода диска InnoDB».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/innodb-performance-multiple_io_threads.html

Spec-Zone.ru

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