7.6.7.10 Мониторинг операций клонирования
В этом разделе описаны параметры для мониторинга операций клонирования.
Мониторинг операций клонирования с помощью таблиц Performance Schema Clone
Операция клонирования может занять некоторое время, в зависимости от объема данных и других факторов, связанных с передачей данных. Вы можете отслеживать состояние и прогресс операции клонирования на экземпляре MySQL-сервера получателя, используя таблицы Performance Schema clone_status и clone_progress.
Таблицы Performance Schema clone_status и clone_progress могут использоваться только для мониторинга операции клонирования на экземпляре MySQL-сервера получателя. Для мониторинга операции клонирования на экземпляре MySQL-сервера донора используйте события этапов клонирования, как описано в Мониторинг операций клонирования с помощью событий Performance Schema Stage.
Таблица
clone_statusпредоставляет состояние текущей или последней выполненной операции клонирования. Операция клонирования может иметь четыре возможных состояния:Not Started,In Progress,CompletedиFailed.Таблица
clone_progressпредоставляет информацию о ходе текущей или последней выполненной операции клонирования по этапам. Этапы операции клонирования включаютDROP DATA,FILE COPY,PAGE_COPY,REDO_COPY,FILE_SYNC,RESTARTиRECOVERY.
Для доступа к таблицам Performance Schema Clone требуется разрешение SELECT и EXECUTE на Performance Schema.
Для проверки состояния операции клонирования:
Подключитесь к экземпляру MySQL-сервера получателя.
-
Выполните запрос к таблице
clone_status:mysql>
SELECT STATE FROM performance_schema.clone_status;+-----------+ | STATE | +-----------+ | Completed | +-----------+
В случае ошибки во время операции клонирования, можно запросить таблицу clone_status для получения информации об ошибке:
mysql> SELECT STATE, ERROR_NO, ERROR_MESSAGE FROM performance_schema.clone_status;
+-----------+----------+---------------+
| STATE | ERROR_NO | ERROR_MESSAGE |
+-----------+----------+---------------+
| Failed | xxx | "xxxxxxxxxxx" |
+-----------+----------+---------------+
Для просмотра подробностей каждого этапа операции клонирования:
Подключитесь к экземпляру MySQL-сервера получателя.
-
Выполните запрос к таблице
clone_progress. Например, следующий запрос предоставляет данные о состоянии и времени завершения для каждого этапа операции клонирования:mysql>
SELECT STAGE, STATE, END_TIME FROM performance_schema.clone_progress;+-----------+-----------+----------------------------+ | stage | state | end_time | +-----------+-----------+----------------------------+ | DROP DATA | Completed | 2019-01-27 22:45:43.141261 | | FILE COPY | Completed | 2019-01-27 22:45:44.457572 | | PAGE COPY | Completed | 2019-01-27 22:45:44.577330 | | REDO COPY | Completed | 2019-01-27 22:45:44.679570 | | FILE SYNC | Completed | 2019-01-27 22:45:44.918547 | | RESTART | Completed | 2019-01-27 22:45:48.583565 | | RECOVERY | Completed | 2019-01-27 22:45:49.626595 | +-----------+-----------+----------------------------+Для других точек данных состояния и прогресса клонирования, которые можно отслеживать, обратитесь к Раздел 29.12.19, «Таблицы Performance Schema Clone».
Мониторинг операций клонирования с помощью событий Performance Schema Stage
Операция клонирования может занять некоторое время, в зависимости от объема данных и других факторов, связанных с передачей данных. Существует три события этапов для мониторинга прогресса операции клонирования. Каждое событие этапа сообщает значения и WORK_COMPLETED. Сообщенные значения пересматриваются по мере прогресса операции. WORK_ESTIMATED
Этот метод мониторинга операции клонирования может использоваться на экземпляре MySQL-сервера донора или получателя.
В порядке возникновения события этапов операции клонирования включают:
stage/innodb/clone (file copy): Указывает прогресс фазы копирования файлов операции клонирования.иWORK_ESTIMATEDединицы — это фрагменты файлов. Число файлов, которые должны быть переданы, известно в начале фазы копирования файлов, а количество фрагментов оценивается на основе количества файлов.WORK_COMPLETEDWORK_ESTIMATEDустанавливается в число оценочных фрагментов файлов.WORK_COMPLETEDобновляется после отправки каждого фрагмента.stage/innodb/clone (page copy): Указывает прогресс фазы копирования страниц операции клонирования.WORK_ESTIMATEDиWORK_COMPLETEDединицы — это страницы. После завершения фазы копирования файлов количество страниц, которые должны быть переданы, известно, иWORK_ESTIMATEDустанавливается в это значение.WORK_COMPLETEDобновляется после отправки каждой страницы.stage/innodb/clone (redo copy): Указывает прогресс фазы копирования redo-фрагментов операции клонирования.WORK_ESTIMATEDиWORK_COMPLETEDединицы — это фрагменты redo. После завершения фазы копирования страниц количество фрагментов redo, которые должны быть переданы, известно, иWORK_ESTIMATEDустанавливается в это значение.WORK_COMPLETEDобновляется после отправки каждого фрагмента.
Следующий пример демонстрирует, как включить инструменты событий stage/innodb/clone% и связанные потребительские таблицы для мониторинга операции клонирования. Для получения информации об инструментах событий этапов Performance Schema и связанных потребителях, см. Раздел 29.12.5, «Таблицы Performance Schema Stage Event».
-
Включите инструменты
stage/innodb/clone%:mysql>
UPDATE performance_schema.setup_instruments SET ENABLED = 'YES'WHERE NAME LIKE 'stage/innodb/clone%'; -
Включите таблицы потребителей событий этапов, которые включают
events_stages_current,events_stages_historyиevents_stages_history_long.mysql>
UPDATE performance_schema.setup_consumers SET ENABLED = 'YES'WHERE NAME LIKE '%stages%'; -
Выполните операцию клонирования. В этом примере локальный каталог данных клонируется в каталог под названием
cloned_dir.mysql>
CLONE LOCAL DATA DIRECTORY = '/path/to/cloned_dir'; -
Проверьте прогресс операции клонирования, выполнив запрос к таблице Performance Schema
events_stages_current. Показанное событие этапа отличается в зависимости от текущей фазы клонирования. СтолбецWORK_COMPLETEDпоказывает завершённую работу. СтолбецWORK_ESTIMATEDпоказывает общую необходимую работу.mysql>
SELECT EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED FROM performance_schema.events_stages_currentWHERE EVENT_NAME LIKE 'stage/innodb/clone%';+--------------------------------+----------------+----------------+ | EVENT_NAME | WORK_COMPLETED | WORK_ESTIMATED | +--------------------------------+----------------+----------------+ | stage/innodb/clone (redo copy) | 1 | 1 | +--------------------------------+----------------+----------------+Таблица
events_stages_currentвозвращает пустое множество, если операция клонирования завершена. В этом случае можно проверить таблицуevents_stages_history, чтобы просмотреть данные событий для завершённой операции. Например:mysql>
SELECT EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED FROM events_stages_historyWHERE EVENT_NAME LIKE 'stage/innodb/clone%';+--------------------------------+----------------+----------------+ | EVENT_NAME | WORK_COMPLETED | WORK_ESTIMATED | +--------------------------------+----------------+----------------+ | stage/innodb/clone (file copy) | 301 | 301 | | stage/innodb/clone (page copy) | 0 | 0 | | stage/innodb/clone (redo copy) | 1 | 1 | +--------------------------------+----------------+----------------+
Мониторинг операций клонирования с помощью инструментария Performance Schema Clone
Performance Schema предоставляет инструменты для расширенного мониторинга производительности операций клонирования. Для просмотра доступных инструментов клонирования выполните следующий запрос:
mysql> SELECT NAME,ENABLED FROM performance_schema.setup_instruments
WHERE NAME LIKE '%clone%';
+---------------------------------------------------+---------+
| NAME | ENABLED |
+---------------------------------------------------+---------+
| wait/synch/mutex/innodb/clone_snapshot_mutex | NO |
| wait/synch/mutex/innodb/clone_sys_mutex | NO |
| wait/synch/mutex/innodb/clone_task_mutex | NO |
| wait/synch/mutex/group_rpl/LOCK_clone_donor_list | NO |
| wait/synch/mutex/group_rpl/LOCK_clone_handler_run | NO |
| wait/synch/mutex/group_rpl/LOCK_clone_query | NO |
| wait/synch/mutex/group_rpl/LOCK_clone_read_mode | NO |
| wait/synch/cond/group_rpl/COND_clone_handler_run | NO |
| wait/io/file/innodb/innodb_clone_file | YES |
| stage/innodb/clone (file copy) | YES |
| stage/innodb/clone (redo copy) | YES |
| stage/innodb/clone (page copy) | YES |
| statement/abstract/clone | YES |
| statement/clone/local | YES |
| statement/clone/client | YES |
| statement/clone/server | YES |
| memory/innodb/clone | YES |
| memory/clone/data | YES |
+---------------------------------------------------+---------+
Инструменты ожидания
Инструменты ожидания Performance Schema отслеживают события, которые занимают время. Инструменты ожидания событий клонирования включают:
wait/synch/mutex/innodb/clone_snapshot_mutex: Отслеживает события ожидания для блокировки моментального снимка клонирования, которая синхронизирует доступ к динамическому объекту моментального снимка (на доноре и получателе) между несколькими потоками клонирования.wait/synch/mutex/innodb/clone_sys_mutex: Отслеживает события ожидания для системной блокировки клонирования. В экземпляре MySQL сервера имеется один системный объект клонирования. Эта блокировка синхронизирует доступ к системному объекту клонирования на доноре и получателе. Она приобретается потоками клонирования и другими фоновыми и передними потоками.wait/synch/mutex/innodb/clone_task_mutex: Отслеживает события ожидания для блокировки задачи клонирования, используемой для управления задачами клонирования.clone_task_mutexприобретается потоками клонирования.wait/io/file/innodb/innodb_clone_file: Отслеживает все операции ожидания ввода-вывода для файлов, над которыми выполняется операция клонирования.
Сведения о мониторинге ожиданий блокировок InnoDB см. в разделе 17.16.2 «Мониторинг ожиданий блокировок InnoDB с помощью Performance Schema». Сведения о мониторинге событий ожидания в целом см. в разделе 29.12.4 «Таблицы событий ожидания Performance Schema».
Инструменты этапов
События этапов Performance Schema отслеживают шаги, происходящие во время процесса выполнения запроса. Инструменты событий этапов клонирования включают:
stage/innodb/clone (file copy): Указывает ход фазы копирования файлов в ходе операции клонирования.stage/innodb/clone (redo copy): Указывает ход фазы копирования redo в ходе операции клонирования.stage/innodb/clone (page copy): Указывает ход фазы копирования страниц в ходе операции клонирования.
Сведения о мониторинге операций клонирования с помощью событий этапов см. в Мониторинге операций клонирования с помощью событий этапов Performance Schema. Общие сведения о мониторинге событий этапов см. в разделе 29.12.5 «Таблицы событий этапов Performance Schema».
Инструменты операторов
События операторов Performance Schema отслеживают выполнение операторов. При инициализации операции клонирования различные типы операторов, отслеживаемые инструментами операторов клонирования, могут выполняться параллельно. Вы можете наблюдать за этими событиями операторов в таблицах событий операторов Performance Schema. Количество выполняемых операторов зависит от настроек clone_max_concurrency и clone_autotune_concurrency.
Инструменты событий операторов клонирования включают:
statement/abstract/clone: Отслеживает события операторов для любой операции клонирования до ее классификации как локальной, клиентской или серверной операции.statement/clone/local: Отслеживает события операторов клонирования для локальных операций клонирования; генерируется при выполнении оператораCLONE LOCAL.statement/clone/client: Отслеживает события удаленного клонирования операторов, которые происходят на принимающем экземпляре MySQL сервера; генерируется при выполнении оператораCLONE INSTANCEна принимающей стороне.statement/clone/server: Отслеживает события удаленного клонирования операторов, которые происходят на экземпляре MySQL сервера-донора; генерируется при выполнении оператораCLONE INSTANCEна принимающей стороне.
Сведения о мониторинге событий операторов Performance Schema см. в разделе 29.12.6 «Таблицы событий операторов Performance Schema».
Инструменты памяти
Инструменты памяти Performance Schema отслеживают использование памяти. Инструменты использования памяти клонирования включают:
memory/innodb/clone: Отслеживает память, выделеннуюInnoDBдля динамического моментального снимка.memory/clone/data: Отслеживает память, выделенную плагином клонирования во время операции клонирования.
Сведения о мониторинге использования памяти с помощью Performance Schema см. в разделе 29.12.20.10 «Таблицы сводки памяти».
Переменная состояния Com_clone
Переменная состояния Com_clone предоставляет количество выполнений оператора CLONE.
Дополнительные сведения см. в обсуждении переменных счетчиков операторов Com_xxx в разделе 7.1.10 «Переменные состояния сервера».
© 2025 Oracle
Licensed under the GPLv2 License.