16.10 Параметры производительности/масштабируемости/емкости
Эти параметры ограничивают ресурсы, используемые процессом резервного копирования, чтобы минимизировать издержки резервного копирования для загруженных или больших баз данных, или определять поведение процесса при возникновении проблем с ресурсами.
-
--number-of-buffers=num_buffersФормат командной строки --number-of-buffers=NUMBERТип Числовой Значение по умолчанию 14Минимальное значение 1Указывает количество буферов, каждый размером 16 МБ, используемых во время многопоточных операций.
Используйте большое значение для CPU-емких операций, таких как резервное копирование, особенно при использовании сжатия. Используйте низкое значение для операций, интенсивных с точки зрения диска, таких как восстановление резервной копии. Это значение должно быть как минимум таким же высоким, как количество потоков чтения или записи, в зависимости от типа операции.
По умолчанию: в настоящее время 14.
Для операций сжатия или инкрементного резервного копирования размер буфера немного больше 16 МБ для размещения заголовков.
Для инкрементного резервного копирования одного файла и сжатого резервного копирования одного файла используется один дополнительный буфер.
Для сжатого резервного копирования, сжатого резервного копирования одного файла и операций применения логов без сжатия требуется один дополнительный буфер для каждого потока процесса.
Если вы измените количество потоков чтения, записи и обработки, вы можете поэкспериментировать с изменением этого значения так, чтобы оно было немного больше общего количества потоков, указанного другими параметрами. См. Раздел 11.1, «Оптимизация производительности резервного копирования» и Раздел 11.2, «Оптимизация производительности восстановления» для получения дополнительных рекомендаций по рекомендуемым сочетаниям значений для этого и других параметров производительности для различных конфигураций оборудования, таких как RAID или устройства хранения данных без RAID.
-
--read-threads=num_threadsФормат командной строки --read-threads=NUMBERТип Числовой Значение по умолчанию 1Минимальное значение 1Максимальное значение 15Указывает количество потоков для чтения данных с диска. Этот параметр применяется к таким операциям:
copy-back,copy-back-and-apply-log(только для резервного копирования каталогов),extract,backupиbackup-and-apply-log. Если вы зададите значение 0, оно будет тихо изменено на 1. Максимальное значение равно 15. Если вы зададите отрицательное значение, оно будет тихо изменено на 15. Для следующих операций количество потоков чтения всегда равно 1 независимо от настройки этого параметра:Восстановление резервных копий одного файла
Операции
apply-logи фаза применения лога вcopy-back-and-apply-log,backup-and-apply-logилиapply-incremental-backupоперации.
См. Раздел 11.1, «Оптимизация производительности резервного копирования» и Раздел 11.2, «Оптимизация производительности восстановления» для рекомендаций по рекомендуемым сочетаниям значений для
--read-threads,--process-threadsи--write-threadsдля различных конфигураций оборудования, таких как RAID или устройства хранения данных без RAID.По умолчанию: 1.
-
--process-threads=num_threadsФормат командной строки --process-threads=NUMBERТип Числовой Значение по умолчанию 6Минимальное значение 1Максимальное значение 15Указывает количество потоков для обработки данных, включая сжатие и распаковку, шифрование и дешифрование, операции применения логов и упаковку и извлечение изображений резервных копий. Для
backup-and-apply-log,copy-back-and-apply-logиapply-incremental-backup,--process-threadsустанавливает количество рабочих потоков для фазы применения лога операции. Параметр игнорируется для операций, не включающих обработку данных, таких какcopy-back(если не используется дешифрование или распаковка),backup-dir-to-imageили операция резервного копирования, использующая параметр--incremental-with-redo-log-only.По умолчанию: 6 для всех операций, к которым применим этот параметр.
Если вы зададите значение 0, оно будет тихо изменено на 1. Максимальное значение равно 15. Если вы зададите отрицательное значение, оно будет тихо изменено на 15. См. Раздел 11.1, «Оптимизация производительности резервного копирования» и Раздел 11.2, «Оптимизация производительности восстановления» для рекомендаций по рекомендуемым сочетаниям значений для
--read-threads,--process-threadsи--write-threadsдля различных конфигураций оборудования, таких как RAID или устройства хранения данных без RAID. -
--write-threads=num_threadsФормат командной строки --write-threads=NUMBERТип Числовой Значение по умолчанию 1Минимальное значение 1Максимальное значение 15Указывает количество потоков для записи данных на диск. Этот параметр применяется к операциям:
copy-back,copy-back-and-apply-log,extract,backupиbackup-and-apply-log(для резервного копирования каталогов). Для поддерживаемых операций для любого доступного для поиска целевого объекта записи поддерживается несколько потоков записи;--write-threadsпринудительно устанавливается в 1 только при использовании не-поисковых целевых объектов записи. Параметр игнорируется для других операций, таких как резервное копирование одного файла (всегда используется 1 поток записи),list-image(не используются потоки записи) иvalidate(не используются потоки записи).Если вы зададите значение 0, оно будет тихо изменено на 1 (для операций, использующих потоки записи). Максимальное значение равно 15. Если вы зададите отрицательное значение, оно будет тихо изменено на 15. Для операций
apply-logи фазы применения лога вcopy-back-and-apply-log,backup-and-apply-logилиapply-incremental-backup, количество потоков записи всегда равно 0 независимо от настройки этого параметра. См. Раздел 11.1, «Оптимизация производительности резервного копирования» и Раздел 11.2, «Оптимизация производительности восстановления» для рекомендаций по рекомендуемым сочетаниям значений для--read-threads,--process-threadsи--write-threadsдля различных конфигураций оборудования, таких как RAID или устройства хранения данных без RAID.По умолчанию: 1.
-
--limit-memory=MBФормат командной строки --limit-memory=MBТип Числовой Значение по умолчанию 100 for apply-log (without uncompression), 400 for other operationsМинимальное значение 0Максимальное значение 999999Единица измерения мегабайт Укажите максимальный объём памяти в мегабайтах, который может использовать mysqlbackup. Раньше применялось только к операции
apply-log, но в MySQL Enterprise Backup 3.8 и выше это применяется ко всем операциям. Не включайте в значение параметра какие-либо суффиксы, такие какmbилиkb.По умолчанию: 100 для
apply-log, не используемого с--uncompress, 400 для всех операций (в мегабайтах).Предел памяти, указанный этим параметром, также ограничивает количество доступных 16-МБ буферов для многопоточной обработки. Например, при лимите 400 МБ максимальное количество буферов составляет 25 (за исключением облачного резервного копирования, для которого требуется дополнительная память, и максимальное количество буферов равно 18). Если дополнительные буферы необходимы из-за увеличения значений
--read-threads,--process-threads,--write-threadsи/или--number-of-buffers, увеличьте значение--limit-memoryпропорционально. -
--sleep=MSФормат командной строки --sleep=MSТип Числовой Значение по умолчанию 0Единица измерения миллисекунда Укажите количество миллисекунд, которое нужно подождать после копирования определённого объёма данных из таблиц InnoDB. Каждый блок данных содержит 1024 страницы данных InnoDB, обычно составляющие 16 МБ. Это необходимо для ограничения нагрузки на процессор и ввод/вывод на сервере базы данных.
По умолчанию: 0 (без добровольных пауз).
-
--no-lockingОтключает блокировку во время резервного копирования файлов, не являющихся файлами InnoDB, даже если подключение доступно. Может использоваться для копирования данных, не являющихся данными InnoDB, с меньшим нарушением нормальной работы базы данных. Возможны несоответствия в данных, не являющихся данными InnoDB, если любые изменения будут внесены во время резервного копирования этих файлов.
-
--lock-wait-timeoutФормат командной строки --lock-wait-timeout=SТип Числовой Значение по умолчанию 60Минимальное значение 1Единица измерения секунда Укажите таймаут в секундах для оператора
FLUSH TABLES WITH READ LOCK, который mysqlbackup выполняет на финальной стадии резервного копирования, чтобы временно перевести базу данных в состояние только для чтения. Если таймаут истечёт, оператор завершится с ошибкой, и блокировка таблиц будет снята, чтобы запросы, ожидающие блокировки, могли быть выполнены. mysqlbackup затем повторно выполнит оператор и продолжит резервное копирование. Таймаут предотвращает ситуацию, когда запущенный на сервере длительный запрос препятствует завершению оператораFLUSH TABLES WITH READ LOCK, что блокирует последующие запросы и потенциально приводит к падению сервера. Значение по умолчанию — 60. Минимальное значение — 1. -
--lock-wait-retry-countФормат командной строки --lock-wait-retry-countВведён в 4.1.4 Тип Целое Значение по умолчанию 2147483647Минимальное значение 0Максимальное значение 2147483647Укажите максимальное количество попыток повтора, предпринимаемых mysqlbackup после оператора
FLUSH TABLES WITH READ LOCK, который выполняется на финальной стадии резервного копирования, чтобы временно перевести базу данных в состояние только для чтения, из-за истечения таймаута. Таймаут задаётся параметром mysqlbackup--lock-wait-timeoutили системной переменной на сервере. Этот параметр предотвращает чрезмерное количество повторов оператора блокировки, во время которых все транзакции блокируются на сервере. Значение по умолчанию и максимальное значение равно 2147483647. Минимальное значение — 0 (повторов нет). -
--page-reread-time=MSФормат командной строки --page-reread-time=MSТип Числовой Значение по умолчанию 100Единица измерения миллисекунда Интервал в миллисекундах, который mysqlbackup ждёт перед повторным чтением страницы, которая не прошла проверку контрольной суммы. Занятый сервер может записывать страницу в тот же момент, когда mysqlbackup её читает. Может быть дробным числом, например, 0.05 означает 50 микросекунд. Лучшее разрешение — 1 микросекунда, но на некоторых платформах оно может быть хуже. Значение по умолчанию — 100 миллисекунд (0.1 секунды).
-
--page-reread-count=retry_limitФормат командной строки --page-reread-count=numberТип Числовой Значение по умолчанию 500Максимальное количество попыток повторного чтения, когда страница не проходит проверку контрольной суммы. Занятый сервер может записывать страницу в тот же момент, когда mysqlbackup её читает. Если та же страница последовательно не проходит проверку контрольной суммы столько раз, с паузой, заданной параметром
--page-reread-timeмежду каждой попыткой, резервное копирование прерывается. Значение по умолчанию — 500. -
--on-disk-full={abort|abort_and_remove|warn}Формат командной строки --on-disk-full=optionТип Перечисление Значение по умолчанию abortДопустимые значения abortwarnabort_and_removeОпределяет поведение при возникновении ситуации переполнения диска во время резервного копирования. Этот параметр применяется только для операций резервного копирования (
backup,backup-and-apply-logиbackup-to-image).abort: Прервать резервное копирование без удаления каталога резервной копии. Диск остаётся заполненным.abort_and_remove: Прервать резервное копирование и удалить каталог резервной копии.warn: Выводить сообщение об ошибке каждые 30 секунд и повторять попытку резервного копирования до тех пор, пока не освободится место на диске.
По умолчанию:
abort. -
--skip-unused-pagesПропускать неиспользуемые страницы в табличных пространствах при резервном копировании таблиц InnoDB. Этот параметр применим к операциям
backupиbackup-to-image, но не к инкрементным резервным копиям. Параметр игнорируется операциейbackup-and-apply-log.Обратите внимание, что резервные копии, созданные с параметром
--skip-unused-pages, не могут быть восстановлены с помощьюcopy-back-and-apply-log.Неиспользуемые страницы — это свободные страницы, часто возникающие при массовом удалении данных. Пропуская неиспользуемые страницы во время резервного копирования, этот параметр может уменьшить размер резервной копии, а значит, и требуемое дисковое пространство и ресурсы ввода/вывода для операций. Однако последующие операции
apply-logнад резервными копиями займут больше времени, так как неиспользуемые страницы будут вставлены обратно в таблицы во время этих операций.
-
--skip-binlogПропускайте включение файлов двоичного журнала в резервную копию во время операции резервного копирования или пропускайте копирование файлов двоичного журнала на сервер во время операции восстановления.
Файлы двоичного журнала вместе с файлом индекса двоичного журнала включаются по умолчанию для всех типов онлайн-резервных копий (полных, инкрементных, сжатых, частичных, отдельных файлов и т. д.). Подробнее см. Таблица 1.1, «Типы файлов в резервной копии». Используйте этот параметр, чтобы пропустить резервное копирование двоичных журналов в следующих ситуациях:
Если возникают проблемы с ресурсами или производительностью.
Если какие-либо файлы двоичного журнала отсутствуют на сервере, резервную копию которого вы создаете, чтобы избежать выдачи ошибкой mysqlbackup сообщения об отсутствующих файлах.
Если вы создаете инкрементную резервную копию, которая основана на резервной копии (полной или инкрементной), созданной с использованием параметра
--no-locking, поскольку информация о двоичном журнале будет недоступна для mysqlbackup в этой ситуации.
-
--skip-relaylogПри работе с сервером репликации пропускайте включение файлов журнала репликации в резервную копию во время операции резервного копирования или пропускайте копирование файлов журнала репликации на сервер во время операции восстановления.
Файлы журнала репликации вместе с файлом индекса журнала репликации и файлами
master.infoиslave.infoвключаются по умолчанию для всех типов онлайн-резервных копий (полных, инкрементных, сжатых, частичных, отдельных файлов и т. д.) сервера репликации. Подробнее см. Таблица 1.1, «Типы файлов в резервной копии». Используйте этот параметр, чтобы пропустить резервное копирование журналов репликации, если возникают проблемы с ресурсами, производительностью или другие проблемы.ПримечаниеЕсли пользователь выполняет инструкцию во время резервного копирования для реплики, процесс резервного копирования завершится неудачей. Используйте параметр
--skip-relaylog, если вы ожидаете, что инструкция будет выполнена во время резервного копирования, и нет необходимости включать журналы репликации в резервную копию.Файлы журнала репликации и файлы, резервно скопированные вместе с ними, если они включены в резервную копию, всегда копируются в каталог данных восстановленного сервера во время операции восстановления; если это не желаемое поведение, используйте этот параметр, чтобы пропустить восстановление журнала репликации.
-
--skip-final-rescanПропустите окончательное повторное сканирование таблиц InnoDB, которые были изменены операциями DDL после того, как база данных была заблокирована для чтения ближе к концу операции резервного копирования. Это может сократить время блокировки и уменьшить влияние резервного копирования на нормальную работу сервера, особенно когда резервируется много таблиц.
ПредупреждениеЭтот параметр может привести к неполной или несогласованной резервной копии, если во время операции резервного копирования операции DDL выполняются в любых таблицах InnoDB, табличные пространства которых находятся за пределами каталога данных MySQL (т. е. любые).
Параметр игнорируется для резервных копий, использующих параметр
--incremental-with-redo-log-only, и для операций, не связанных с резервным копированием. -
--log-bin-index[=PATH]Формат командной строки --log-bin-index=FILENAMEТип Имя файла Значение по умолчанию data_dir/host_name-bin.indexДля всех автономных резервных копий: укажите абсолютный путь (включая имя файла и расширение) файла индекса на сервере MySQL, в котором перечислены все используемые файлы двоичного журнала, если он отличается от пути по умолчанию, указанного ниже, для включения файлов двоичного журнала в резервную копию.
По умолчанию:
.data_dir/host_name-bin.index -
--relay-log-index[=PATH]Формат командной строки --relay-log-index=FILENAMEТип Имя файла Значение по умолчанию data_dir/host_name-relay-bin.indexТолько для автономных резервных копий серверов репликации: укажите абсолютный путь (включая имя файла и расширение) файла индекса на сервере MySQL, в котором перечислены все используемые файлы журнала репликации, если он отличается от пути по умолчанию, указанного ниже, для включения файлов журнала репликации в резервную копию.
По умолчанию:
.data_dir/host_name-relay-bin.index -
--master-info-file[=PATH]Формат командной строки --master-info-file=FILENAMEТип Имя файла Значение по умолчанию data_dir/master.infoТолько для автономных резервных копий серверов репликации: укажите абсолютный путь (включая имя файла и расширение) файла информации, в котором реплика записывает информацию о своем источнике, если он отличается от пути по умолчанию, указанного ниже, для включения файла информации в резервную копию.
По умолчанию:
.data_dir/master.info -
--relaylog-info-file[=PATH]Формат командной строки --relaylog-info-file=FILENAMEТип Имя файла Значение по умолчанию data_dir/relay-log.infoТолько для автономных резервных копий серверов репликации: укажите абсолютный путь (включая имя файла и расширение) файла информации, в котором реплика записывает информацию о журналах репликации, если он отличается от пути по умолчанию, указанного ниже, для включения файла информации в резервную копию.
По умолчанию:
.data_dir/relay-log.info -
--optimistic-time[=DATE-TIME]Формат командной строки --optimistic-time=DATE-TIMEТип Строка Значение по умолчанию nowВыполните оптимистичное резервное копирование со значением, указанным с помощью параметра, в качестве “оптимистичного времени” — времени, после которого таблицы, которые не были изменены, принимаются как “неактивные таблицы.” Считается, что “неактивные таблицы” вряд ли изменятся во время процесса резервного копирования. Неактивные таблицы резервируются на оптимистичной фазе резервного копирования, а все остальные таблицы резервируются на обычной фазе. Подробнее о концепции, вариантах использования и примерах команд для оптимистичного резервного копирования см. в Разделе 4.3.6, «Создание оптимистичной резервной копии».
Допустимые форматы для указания параметра включают:
now: Это включает все таблицы в оптимистическую фазу процесса резервного копирования. Это значение по умолчанию для параметра, если значение не указано.{Number}{Unit}: Указывает оптимистичное время как время на определенную продолжительность в прошлом.{Unit}может быть одним изyears,months,hoursиminutes. Некоторые примеры строк параметров в этом формате включают:5years,2days,13months,23hoursи35minutes.Формат даты и времени в одном из следующих форматов:
YYMMDD,YYYYMMDD,YYMMDDHHMMSS,YYYYMMDDHHMMSS,YY-MM-DD,YYYY-MM-DD,YY-MM-DD HH.MM.SSилиYYYYMMDDTHHMMSS(гдеT— это символT).
Когда используются как параметр
optimistic-time, так и параметрoptimistic-busy-tablesи они вступают в конфликт при определении того, какие таблицы должны быть зарезервированы на оптимистичной фазе,optimistic-busy-tablesимеет приоритет надoptimistic-time.
-
--optimistic-busy-tables=REGEXPФормат командной строки --optimistic-busy-tables=REGEXPТип Строка Выполните оптимистическое резервное копирование, используя регулярное выражение, заданное с параметром для выбора таблиц, которые будут пропущены на первой стадии оптимистического резервного копирования, поскольку, вероятно, они будут изменены во время процесса резервного копирования. Таблицы, полные имена которых (в форме
database_name.table_name) соответствуют регулярному выражению, считаются «занятыми таблицами», которые будут резервироваться на второй или «нормальной» стадии резервного копирования. Таблицы, полные имена которых НЕ соответствуют регулярному выражению, считаются «неактивными таблицами», которые будут резервироваться на первой или «оптимистической» стадии резервного копирования. Подробности о концепции, вариантах использования и примерах команд для оптимистического резервного копирования см. в разделе Раздел 4.3.6, «Оптимистическое резервное копирование».MySQL Enterprise Backup выдаст ошибку, если параметр используется, но регулярное выражение не задано.
Если используются оба параметра
optimistic-timeиoptimistic-busy-tables, и они противоречат друг другу при определении того, какие таблицы должны быть «оптимистическими»,optimistic-busy-tablesимеет приоритет надoptimistic-time. -
--free-os-buffersОсвободите кэш буфера системы в конце операции резервного копирования, синхронизируя все данные из кэша буфера на жесткий диск. Использование этого параметра может значительно увеличить время резервного копирования для систем со медленными накопителями и баз данных с большим количеством таблиц.
По умолчанию: автоматическая синхронизация отключена.
© 2025 Oracle
Licensed under the GPLv2 License.