Spec-Zone.ru › MySQL 9.2

7.6.7.10 Мониторинг операций клонирования

В этом разделе описаны параметры для мониторинга операций клонирования.

  • Мониторинг операций клонирования с помощью таблиц Performance Schema Clone

  • Мониторинг операций клонирования с помощью событий Performance Schema Stage

  • Мониторинг операций клонирования с помощью инструментов Performance Schema Clone

  • Переменная состояния Com_clone

Мониторинг операций клонирования с помощью таблиц 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.

Для проверки состояния операции клонирования:

  1. Подключитесь к экземпляру MySQL-сервера получателя.

  2. Выполните запрос к таблице 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" |
+-----------+----------+---------------+

Для просмотра подробностей каждого этапа операции клонирования:

  1. Подключитесь к экземпляру MySQL-сервера получателя.

  2. Выполните запрос к таблице 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_COMPLETED единицы — это фрагменты файлов. Число файлов, которые должны быть переданы, известно в начале фазы копирования файлов, а количество фрагментов оценивается на основе количества файлов. WORK_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».

  1. Включите инструменты stage/innodb/clone%:

    mysql> UPDATE performance_schema.setup_instruments SET ENABLED = 'YES'
           WHERE NAME LIKE 'stage/innodb/clone%';
    
  2. Включите таблицы потребителей событий этапов, которые включают events_stages_current, events_stages_history и events_stages_history_long.

    mysql> UPDATE performance_schema.setup_consumers SET ENABLED = 'YES'
           WHERE NAME LIKE '%stages%';
    
  3. Выполните операцию клонирования. В этом примере локальный каталог данных клонируется в каталог под названием cloned_dir.

    mysql> CLONE LOCAL DATA DIRECTORY = '/path/to/cloned_dir';
    
  4. Проверьте прогресс операции клонирования, выполнив запрос к таблице Performance Schema events_stages_current. Показанное событие этапа отличается в зависимости от текущей фазы клонирования. Столбец WORK_COMPLETED показывает завершённую работу. Столбец WORK_ESTIMATED показывает общую необходимую работу.

    mysql> SELECT EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED FROM performance_schema.events_stages_current
           WHERE 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_history
           WHERE 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.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/clone-plugin-monitoring.html

Spec-Zone.ru

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