Spec-Zone.ru › MySQL 5.7

25.4.8 Примеры конфигураций потребителей

Настройки потребителей в таблице таблице setup_consumers образуют иерархию от верхних уровней к нижним. Следующее обсуждение описывает, как работают потребители, демонстрируя конкретные конфигурации и их эффекты по мере поэтапного включения настроек потребителей сверху вниз. Показанные значения потребителей являются характерными. Общие принципы, описанные здесь, применяются и к другим значениям потребителей, которые могут быть доступны.

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

Таблица setup_consumers содержит следующую иерархию значений:

global_instrumentation
 thread_instrumentation
   events_waits_current
     events_waits_history
     events_waits_history_long
   events_stages_current
     events_stages_history
     events_stages_history_long
   events_statements_current
     events_statements_history
     events_statements_history_long
   events_transactions_current
     events_transactions_history
     events_transactions_history_long
 statements_digest
Примечание

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

Если заданное свойство потребителя является NO, то Performance Schema отключает связанную с потребителем инструментацию и игнорирует все настройки более низкого уровня. Если заданное свойство является YES, Performance Schema включает связанную с ним инструментацию и проверяет настройки на следующем ниже уровне. Для описания правил для каждого потребителя см. Раздел 25.4.7, «Предварительный фильтр по потребителю».

Например, если global_instrumentation включено, проверяется thread_instrumentation. Если thread_instrumentation включено, проверяются потребители events_xxx_current. Если из этих events_waits_current включено, проверяются events_waits_history и events_waits_history_long.

Каждое из следующих описаний конфигурации указывает, какие элементы настройки проверяет Performance Schema и какие выходные таблицы он поддерживает (то есть, для каких таблиц он собирает информацию).

  • Отсутствует инструментация

  • Только глобальная инструментация

  • Глобальная и потоковая инструментация только

  • Глобальная, потоковая и текущая инструментация событий

  • Глобальная, потоковая, текущая и инструментация истории событий

Отсутствует инструментация

Состояние конфигурации сервера:

mysql> SELECT * FROM performance_schema.setup_consumers;
+---------------------------+---------+
| NAME                      | ENABLED |
+---------------------------+---------+
| global_instrumentation    | NO      |
...
+---------------------------+---------+

В этой конфигурации ничего не инструментализируется.

Проверяемые элементы настройки:

  • Таблица setup_consumers, потребитель global_instrumentation

Поддерживаемые выходные таблицы:

  • Нет

Только глобальная инструментация

Состояние конфигурации сервера:

mysql> SELECT * FROM performance_schema.setup_consumers;
+---------------------------+---------+
| NAME                      | ENABLED |
+---------------------------+---------+
| global_instrumentation    | YES     |
| thread_instrumentation    | NO      |
...
+---------------------------+---------+

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

Дополнительные элементы настройки, проверяемые по сравнению с предыдущей конфигурацией:

  • Таблица setup_consumers, потребитель thread_instrumentation

  • Таблица setup_instruments

  • Таблица setup_objects

  • Таблица setup_timers

Дополнительные выходные таблицы, поддерживаемые по сравнению с предыдущей конфигурацией:

  • mutex_instances

  • rwlock_instances

  • cond_instances

  • file_instances

  • users

  • hosts

  • accounts

  • socket_summary_by_event_name

  • file_summary_by_instance

  • file_summary_by_event_name

  • objects_summary_global_by_type

  • memory_summary_global_by_event_name

  • table_lock_waits_summary_by_table

  • table_io_waits_summary_by_index_usage

  • table_io_waits_summary_by_table

  • events_waits_summary_by_instance

  • events_waits_summary_global_by_event_name

  • events_stages_summary_global_by_event_name

  • events_statements_summary_global_by_event_name

  • events_transactions_summary_global_by_event_name

Только глобальная и потоковая инструментация

Состояние конфигурации сервера:

mysql> SELECT * FROM performance_schema.setup_consumers;
+----------------------------------+---------+
| NAME                             | ENABLED |
+----------------------------------+---------+
| global_instrumentation           | YES     |
| thread_instrumentation           | YES     |
| events_waits_current             | NO      |
...
| events_stages_current            | NO      |
...
| events_statements_current        | NO      |
...
| events_transactions_current      | NO      |
...
+----------------------------------+---------+

В этой конфигурации инструментация поддерживается глобально и в каждом потоке. Отдельные события не собираются в таблицах current-events или event-history.

Дополнительные элементы конфигурации, проверяемые относительно предыдущей конфигурации:

  • Таблица setup_consumers, потребители events_xxx_current, где xxx равно waits, stages, statements, transactions

  • Таблица setup_actors

  • Столбец threads.instrumented

Дополнительные таблицы вывода, поддерживаемые относительно предыдущей конфигурации:

  • events_xxx_summary_by_yyy_by_event_name, где xxx равно waits, stages, statements, transactions; и yyy равно thread, user, host, account

Глобальная, потоковая и инструментация текущих событий

Состояние конфигурации сервера:

mysql> SELECT * FROM performance_schema.setup_consumers;
+----------------------------------+---------+
| NAME                             | ENABLED |
+----------------------------------+---------+
| global_instrumentation           | YES     |
| thread_instrumentation           | YES     |
| events_waits_current             | YES     |
| events_waits_history             | NO      |
| events_waits_history_long        | NO      |
| events_stages_current            | YES     |
| events_stages_history            | NO      |
| events_stages_history_long       | NO      |
| events_statements_current        | YES     |
| events_statements_history        | NO      |
| events_statements_history_long   | NO      |
| events_transactions_current      | YES     |
| events_transactions_history      | NO      |
| events_transactions_history_long | NO      |
...
+----------------------------------+---------+

В этой конфигурации инструментация поддерживается глобально и в каждом потоке. Индивидуальные события собираются в таблице current-events, но не в таблицах event-history.

Дополнительные элементы конфигурации, проверяемые относительно предыдущей конфигурации:

  • Потребители events_xxx_history, где xxx равно waits, stages, statements, transactions

  • Потребители events_xxx_history_long, где xxx равно waits, stages, statements, transactions

Дополнительные таблицы вывода, поддерживаемые относительно предыдущей конфигурации:

  • events_xxx_current, где xxx равно waits, stages, statements, transactions

Глобальная, потоковая, текущих событий и инструментация истории событий

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

Эта конфигурация собирает историю событий по потокам, но не глобально:

mysql> SELECT * FROM performance_schema.setup_consumers;
+----------------------------------+---------+
| NAME                             | ENABLED |
+----------------------------------+---------+
| global_instrumentation           | YES     |
| thread_instrumentation           | YES     |
| events_waits_current             | YES     |
| events_waits_history             | YES     |
| events_waits_history_long        | NO      |
| events_stages_current            | YES     |
| events_stages_history            | YES     |
| events_stages_history_long       | NO      |
| events_statements_current        | YES     |
| events_statements_history        | YES     |
| events_statements_history_long   | NO      |
| events_transactions_current      | YES     |
| events_transactions_history      | YES     |
| events_transactions_history_long | NO      |
...
+----------------------------------+---------+

Таблицы истории событий, поддерживаемые для этой конфигурации:

  • events_xxx_history, где xxx равно waits, stages, statements, transactions

Эта конфигурация собирает историю событий глобально, но не по потокам:

mysql> SELECT * FROM performance_schema.setup_consumers;
+----------------------------------+---------+
| NAME                             | ENABLED |
+----------------------------------+---------+
| global_instrumentation           | YES     |
| thread_instrumentation           | YES     |
| events_waits_current             | YES     |
| events_waits_history             | NO      |
| events_waits_history_long        | YES     |
| events_stages_current            | YES     |
| events_stages_history            | NO      |
| events_stages_history_long       | YES     |
| events_statements_current        | YES     |
| events_statements_history        | NO      |
| events_statements_history_long   | YES     |
| events_transactions_current      | YES     |
| events_transactions_history      | NO      |
| events_transactions_history_long | YES     |
...
+----------------------------------+---------+

Таблицы истории событий, поддерживаемые для этой конфигурации:

  • events_xxx_history_long, где xxx равно waits, stages, statements, transactions

Эта конфигурация собирает историю событий по потокам и глобально:

mysql> SELECT * FROM performance_schema.setup_consumers;
+----------------------------------+---------+
| NAME                             | ENABLED |
+----------------------------------+---------+
| global_instrumentation           | YES     |
| thread_instrumentation           | YES     |
| events_waits_current             | YES     |
| events_waits_history             | YES     |
| events_waits_history_long        | YES     |
| events_stages_current            | YES     |
| events_stages_history            | YES     |
| events_stages_history_long       | YES     |
| events_statements_current        | YES     |
| events_statements_history        | YES     |
| events_statements_history_long   | YES     |
| events_transactions_current      | YES     |
| events_transactions_history      | YES     |
| events_transactions_history_long | YES     |
...
+----------------------------------+---------+

Таблицы истории событий, поддерживаемые для этой конфигурации:

  • events_xxx_history, где xxx равно waits, stages, statements, transactions

  • events_xxx_history_long, где xxx равно waits, stages, statements, transactions

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/performance-schema-consumer-configurations.html

Spec-Zone.ru

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