Изменение innodb_io_capacity в MySQL

innodb_io_capacity — определяет количество IOPS на запись для фоновых задач InnoDB, например очистка страниц из пула буферов и т.д. Если операция очистки отстает, то InnoDB может более агрессивно выполнять очистку с более высокой скоростью IOPS, значение которой определено в переменной innodb_io_capacity_max.

Посмотрим текущее значение innodb_io_capacity (по умолчанию 200):

show variables like 'innodb_io_capacity';

Определить производительность дисковой системы можно например как я описывал в этих статьях:
Тест iops используя fio
DiskSpd. Меряем IOPS в Windows

Измерять необходимо обязательно одновременно выполняя случайную запись и случайное чтение, так как в этом случае производительность дисков намного меньше чем при раздельных тестах.

Можно указать например около 50% доступных IOPS или хотя бы немного увеличить значение, например:

SET global innodb_io_capacity=1000;

А также укажем в файле конфигурации, чтобы значение не сбросилось после перезапуска MySQL сервера:

[mysqld]
innodb_io_capacity=1000

Посмотрим текущее значение innodb_io_capacity_max (по умолчанию 2000):

show variables like 'innodb_io_capacity_max';

Приведу пример изменения:

SET global innodb_io_capacity_max=4000;

Также укажем в файле конфигурации:

[mysqld]
innodb_io_capacity_max=4000

Смотрите также другие мои статьи про MySQL

Оставьте комментарий

Добавить комментарий