Изменение параметра innodb_io_capacity_max в MYSQL8 для экземпляра Azure с низким IOPS

Я использую Mysql 8 на ubuntu 18, значение innodb_io_capacity_max по умолчанию - 2000 . Если я уменьшу его до 500 . Будет ли проблема, если я загружу какой-нибудь файл большого размера 5 ГБ. Рассмотрим мою установку 2 CPU vcore, 8GB RAM экземпляр Azure ( Ubuntu 18) . . Я считаю, что он не должен терпеть неудачу, скорее из-за изменения значения innodb_io_capacity_max, чем медленная загрузка была принята

1 ответ

Во-первых, давайте посмотрим, что такое innodb_io_capacity_maxв офисном документе:

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

Если вы укажете innodb_io_capacity настройки при запуске, но не указывайте значение для innodb_io_capacity_max, innodb_io_capacity_max по умолчанию в два раза больше значения innodb_io_capacity, с минимальным значением 2000.

Следовательно, innodb_io_capacity_max- максимальное количество операций ввода-вывода в секунду, выполняемых фоновыми задачами InnoDB, когда операция очистки отстает

Когда вы уменьшили его до 500, это означает, что максимальное количество операций ввода-вывода в секунду при отстающей активности сброса изменено на 500.

Это может замедлить загрузку. Однако производительность загрузки большого файла зависит не только от количества операций ввода-вывода в секунду при сбросе на диск. Были бы другие ключевые моменты:

  1. Производительность оборудования: как насчет операций ввода-вывода в секунду на диске вашего экземпляра Azure.
  2. Изменить размер буфера: Преимущество для вторичного индекса
  3. Размер файла журнала повторного выполнения и количество файлов: если размер файла журнала повторного выполнения или количество файлов слишком мал, mysql должен прекратить загрузку новых данных вставки, пока на диск не будет сброшено достаточно грязных страниц.
  4. innodb_max_dirty_pages_pct значение: если это значение слишком низкое, скорость промывки будет автоматически увеличиваться,
  5. количество одновременных потоков загрузки: слишком высокая нагрузка вызовет page_cleanerпредупреждение.....

Для вопроса, will it be any issue if I load some big size file 5GB, Думаю были бы какие-то предупреждения о производительности загрузки и сбоев быть не должно.

Пытаясь ответить на ваш вопрос, я нашел еще 2 вопроса, которые могут быть вам полезны. Ссылки ниже. Этот джентльмен,@Bill Karwin дать очень полезные объяснения в ответах на оба вопроса.

Другие вопросы по тегам