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 Instrumentation
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.