Spec-Zone.ru › MySQL 8.4

7.6.7.13 Переменные системы клонирования

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

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

Для изменения глобального значения системной переменной во время выполнения обычно требуется привилегия SYSTEM_VARIABLES_ADMIN (или устаревшая привилегия SUPER). Дополнительную информацию см. в разделе 7.1.9.1, «Привилегии системных переменных».

Переменные клонирования настраиваются на целевом экземпляре сервера MySQL, где выполняется операция клонирования.

  • clone_autotune_concurrency

    Формат командной строки --clone-autotune-concurrency
    Системная переменная clone_autotune_concurrency
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Hint Applies Нет
    Тип Boolean
    Значение по умолчанию ON

    Когда clone_autotune_concurrency включена (значение по умолчанию), для оптимизации скорости передачи данных динамически создаются дополнительные потоки для операций удаленного клонирования. Настройка применима только к экземпляру сервера MySQL получателя.

    Во время операции клонирования количество потоков увеличивается постепенно до целевого значения, вдвое превышающего текущее количество потоков. Эффект на скорость передачи данных оценивается при каждом увеличении. Процесс либо продолжается, либо останавливается в соответствии со следующими правилами:

    • Если скорость передачи данных снижается более чем на 5% при прирастном увеличении, процесс останавливается.

    • Если после достижения 25% от целевого значения наблюдается улучшение как минимум на 5%, процесс продолжается. В противном случае процесс останавливается.

    • Если после достижения 50% от целевого значения наблюдается улучшение как минимум на 10%, процесс продолжается. В противном случае процесс останавливается.

    • Если после достижения целевого значения наблюдается улучшение как минимум на 25%, процесс продолжается к новой целевой величине, вдвое превышающей текущее количество потоков. В противном случае процесс останавливается.

    Процесс автоматической настройки не поддерживает уменьшение количества потоков.

    Переменная clone_max_concurrency определяет максимальное количество потоков, которые могут быть созданы.

    Если clone_autotune_concurrency отключена, clone_max_concurrency определяет количество потоков, создаваемых для операции удаленного клонирования.

  • clone_buffer_size

    Формат командной строки --clone-buffer-size
    Системная переменная clone_buffer_size
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Hint Applies Нет
    Тип Integer
    Значение по умолчанию 4194304
    Минимальное значение 1048576
    Максимальное значение 268435456
    Единица измерения байты

    Определяет размер промежуточного буфера, используемого при передаче данных во время операции локального клонирования. Значение по умолчанию — 4 мебибайта (MiB). Больший размер буфера может позволить драйверам устройств ввода-вывода получать данные параллельно, что может улучшить производительность клонирования.

  • clone_block_ddl

    Формат командной строки --clone-block-ddl
    Системная переменная clone_block_ddl
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Hint Applies Нет
    Тип Boolean
    Значение по умолчанию OFF

    Включает эксклюзивную блокировку резервного копирования в экземпляре сервера MySQL донора во время операции клонирования, которая блокирует параллельные операции DDL на доноре. См. Раздел 7.6.7.4, «Клонирование и параллельные операции DDL».

  • clone_delay_after_data_drop

    Формат командной строки --clone-delay-after-data-drop
    Системная переменная clone_delay_after_data_drop
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Hint Applies Нет
    Тип Integer
    Значение по умолчанию 0
    Минимальное значение 0
    Максимальное значение 3600
    Единица измерения байты

    Задает период задержки сразу после удаления существующих данных в экземпляре сервера MySQL получателя в начале операции удаленного клонирования. Задержка предназначена для предоставления достаточного времени файловой системе на хосте получателя для освобождения места перед клонированием данных из экземпляра сервера MySQL донора. Некоторые файловые системы, такие как VxFS, освобождают место асинхронно в фоновом процессе. В этих файловых системах клонирование данных слишком скоро после удаления существующих данных может привести к сбоям операции клонирования из-за недостатка места. Максимальный период задержки составляет 3600 секунд (1 час). Настройка по умолчанию — 0 (без задержки).

    Эта переменная применима только к операции удаленного клонирования и настраивается в экземпляре сервера MySQL получателя.

  • clone_ddl_timeout

    Формат командной строки --clone-ddl-timeout
    Системная переменная clone_ddl_timeout
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Hint Applies Нет
    Тип Integer
    Значение по умолчанию 300
    Минимальное значение 0
    Максимальное значение 2592000
    Единица измерения секунды

    Время в секундах, в течение которого операция клонирования ожидает блокировки резервного копирования. Блокировка резервного копирования блокирует параллельные операции DDL при выполнении операции клонирования. Эта настройка применяется как к экземплярам сервера MySQL донора, так и получателя.

    Значение 0 означает, что операция клонирования не будет ожидать блокировки резервного копирования. В этом случае выполнение параллельной операции DDL может привести к сбою операции клонирования.

    Параллельные операции DDL разрешены на доноре во время операции клонирования, если clone_block_ddl установлено в OFF (значение по умолчанию). В этом случае операции клонирования не нужно ждать блокировки резервного копирования на доноре. См. Раздел 7.6.7.4, «Клонирование и параллельные операции DDL».

  • clone_donor_timeout_after_network_failure

    Формат командной строки --clone-donor-timeout-after-network-failure
    Системная переменная clone_donor_timeout_after_network_failure
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Hint Applies Нет
    Тип Integer
    Значение по умолчанию 5
    Минимальное значение 0
    Максимальное значение 30
    Единица измерения минуты

    Определяет количество времени в минутах, которое донор разрешает получателю для повторного подключения и перезапуска операции клонирования после сбоя сети. Для получения дополнительной информации см. Раздел 7.6.7.9, «Обработка сбоев операции удаленного клонирования».

    Эта переменная устанавливается в экземпляре сервера MySQL донора. Установка её в экземпляре сервера MySQL получателя не оказывает никакого эффекта.

  • clone_enable_compression

    Формат командной строки --clone-enable-compression
    Системная переменная clone_enable_compression
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Hint Applies Нет
    Тип Boolean
    Значение по умолчанию OFF

    Включает сжатие данных на сетевом уровне во время операции удаленного клонирования. Сжатие экономит сетевую полосу пропускания за счет использования процессора. Включение сжатия может улучшить скорость передачи данных. Эта настройка применяется только к экземпляру сервера MySQL получателя.

  • clone_max_concurrency

    Формат командной строки --clone-max-concurrency
    Системная переменная clone_max_concurrency
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется ли подсказка Нет
    Тип Целое число
    Значение по умолчанию 16
    Минимальное значение 1
    Максимальное значение 128
    Единица измерения потоков

    Определяет максимальное количество потоков для одновременной работы при удаленной операции клонирования. Значение по умолчанию — 16. Большее число потоков может улучшить производительность клонирования, но также уменьшит количество разрешенных одновременных подключений клиентов, что может повлиять на производительность существующих подключений клиентов. Это значение применяется только к экземпляру MySQL-сервера-получателя.

    Если clone_autotune_concurrency включено (по умолчанию), clone_max_concurrency — это максимальное количество потоков, которое может быть динамически запущено для удаленной операции клонирования. Если clone_autotune_concurrency выключено, clone_max_concurrency определяет количество потоков, запущенных для удаленной операции клонирования.

    Для удаленных операций клонирования рекомендуется минимальная скорость передачи данных 1 мебибайт (MiB) на поток. Скорость передачи данных для удаленной операции клонирования контролируется переменной clone_max_data_bandwidth.

  • clone_max_data_bandwidth

    Формат командной строки --clone-max-data-bandwidth
    Системная переменная clone_max_data_bandwidth
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется ли подсказка Нет
    Тип Целое число
    Значение по умолчанию 0
    Минимальное значение 0
    Максимальное значение 1048576
    Единица измерения миБ/секунда

    Определяет максимальную скорость передачи данных в мебибайтах (MiB) в секунду для удаленной операции клонирования. Эта переменная помогает управлять влиянием операции клонирования на производительность. Предел следует устанавливать только при насыщении пропускной способности ввода/вывода диска донора, что влияет на производительность. Значение 0 означает «неограниченный», что позволяет операциям клонирования выполняться с максимально возможной скоростью передачи данных. Это значение применимо только к экземпляру MySQL-сервера-получателя.

    Минимальная скорость передачи данных составляет 1 MiB в секунду на поток. Например, если используется 8 потоков, минимальная скорость передачи данных составляет 8 MiB в секунду. Переменная clone_max_concurrency контролирует максимальное количество запущенных потоков для удаленной операции клонирования.

    Запрашиваемая скорость передачи данных, указанная переменной clone_max_data_bandwidth, может отличаться от фактической скорости передачи данных, отображаемой в столбце DATA_SPEED в таблице performance_schema.clone_progress. Если ваша операция клонирования не достигает желаемой скорости передачи данных, и доступна пропускная способность, проверьте использование ввода/вывода на сервере-получателе и доноре. Если пропускная способность используется недостаточно, ввода/вывода является следующим наиболее вероятным узким местом.

  • clone_max_network_bandwidth

    Формат командной строки --clone-max-network-bandwidth
    Системная переменная clone_max_network_bandwidth
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется ли подсказка Нет
    Тип Целое число
    Значение по умолчанию 0
    Минимальное значение 0
    Максимальное значение 1048576
    Единица измерения миБ/секунда

    Указывает максимальную приблизительную скорость передачи данных по сети в мебибайтах (MiB) в секунду для удаленной операции клонирования. Эта переменная может использоваться для управления влиянием операции клонирования на пропускную способность сети. Её следует устанавливать только при насыщении пропускной способности сети, что влияет на производительность экземпляра донора. Значение 0 означает «неограниченный», что позволяет клонированию выполняться с максимально возможной скоростью передачи данных по сети, обеспечивая наилучшую производительность. Это значение применимо только к экземпляру MySQL-сервера-получателя.

  • clone_valid_donor_list

    Формат командной строки --clone-valid-donor-list=value
    Системная переменная clone_valid_donor_list
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Строка
    Значение по умолчанию NULL

    Определяет допустимые адреса узлов-доноров для операций удалённого клонирования. Эта настройка применяется на экземпляре целевого сервера MySQL. Разрешается список значений, разделённых запятыми, в следующем формате: “HOST1:PORT1,HOST2:PORT2,HOST3:PORT3”. Пробелы не допускаются.

    Переменная clone_valid_donor_list добавляет уровень безопасности, предоставив контроль над источниками клонируемых данных. Привилегия, необходимая для настройки clone_valid_donor_list, отличается от привилегии, необходимой для выполнения операций удалённого клонирования, что позволяет назначать эти обязанности различным ролям. Для настройки clone_valid_donor_list требуется привилегия SYSTEM_VARIABLES_ADMIN, тогда как для выполнения операции удалённого клонирования требуется привилегия CLONE_ADMIN.

    Формат адреса Интернет-протокола версии 6 (IPv6) не поддерживается. Формат адреса Интернет-протокола версии 6 (IPv6) не поддерживается. Вместо этого можно использовать псевдоним IPv6-адреса. IPv4-адрес можно использовать непосредственно.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/clone-plugin-options-variables.html

Spec-Zone.ru

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