Spec-Zone .ru
спецификации, руководства, описания, API
|
События обрабатываются способом производителя/потребителя:
Инструментованный код является источником для событий и производит события, которые
будут собраны. setup_instruments
таблица приводит инструменты, для которых могут
быть собраны события, включают ли им, и собрать ли информацию синхронизации:
mysql> SELECT * FROM
setup_instruments;
+------------------------------------------------------------+---------+-------+| NAME | ENABLED | TIMED |+------------------------------------------------------------+---------+-------+...| wait/synch/mutex/sql/LOCK_global_read_lock | YES | YES || wait/synch/mutex/sql/LOCK_global_system_variables | YES | YES || wait/synch/mutex/sql/LOCK_lock_db | YES | YES || wait/synch/mutex/sql/LOCK_manager | YES | YES |...
setup_instruments
таблица обеспечивает наиболее каноническую форму
управления производством события. Чтобы далее совершенствовать производство события, основанное на
типе объекта или контролируемого потока, другие таблицы могут использоваться как описано в Разделе 21.2.3.2.1, "Предварительная фильтрация
События".
Таблицы Схемы производительности являются местами назначения для событий и
используют события. setup_consumers
таблица приводит типы потребителей, которым может
быть отправлена информация о событии и которые включаются:
mysql> SELECT * FROM
setup_consumers;
+--------------------------------+---------+| NAME | ENABLED |+--------------------------------+---------+| events_stages_current | NO || events_stages_history | NO || events_stages_history_long | NO || events_statements_current | YES || events_statements_history | NO || events_statements_history_long | NO || events_waits_current | NO || events_waits_history | NO || events_waits_history_long | NO || global_instrumentation | YES || thread_instrumentation | YES || statements_digest | YES |+--------------------------------+---------+
Фильтрация может быть сделана на различных этапах контроля производительности:
Предварительная фильтрация. Это делается, изменяя конфигурацию Схемы Производительности так, чтобы только определенные типы событий были собраны от производителей, и собранные события обновляют только определенных потребителей. Этот тип фильтрации делается Схемой Производительности и имеет глобальный эффект, который применяется ко всем пользователям.
Причины использовать предварительную фильтрацию:
Предварительная фильтрация уменьшает издержки. Издержки должны быть минимальными даже со всеми включенными инструментами, но возможно Вы хотите уменьшить их далее. Или Вы не заботитесь о событиях синхронизации и хотите отключить код синхронизации, чтобы устранить издержки синхронизации.
Можно избежать заполнять текущие события или таблицы истории с событиями, к которым у Вас нет никакого интереса. Предварительная фильтрация листов больше "комнаты" в этих таблицах для экземпляров строк для включенных инструментальных типов. Если Вы включаете только инструментам файла с предварительной фильтрацией, никакие строки не собираются для инструментов нефайла. С постфильтрацией несобытия файла собираются, оставляя меньше строк для событий файла.
Можно избежать поддерживать некоторые виды таблиц события. Если Вы отключаете потребителя, сервер не проводит время, поддерживая это. Например, если Вы не заботитесь об историях события, можно отключить табличных потребителей истории, чтобы улучшить производительность.
Постфильтрация. Это включает
использование WHERE
пункты в запросах, которые выбирают информацию из
таблиц Схемы Производительности, чтобы определить, какое из доступных событий Вы хотите видеть. Этот тип
фильтрации выполняется на основе в расчёте на пользователя, потому что отдельные пользователи,
избранные, какие из доступных событий представляют интерес.
Причины использовать постфильтрацию:
Избегать принятия решений для отдельных пользователей, о которых информация о событии представляет интерес.
Использовать Схему Производительности, чтобы исследовать проблему производительности, когда ограничения, чтобы наложить предварительную фильтрацию использования не известны заранее.
Следующие разделы обеспечивают больше детали о предварительной фильтрации и обеспечивают направляющие линии для того, чтобы они назвали инструменты или потребителей в фильтрации операций. Для получения информации о записи запросов, чтобы получить информацию (постфильтрация), см. Раздел 21.3, "Запросы Схемы Производительности".
Предварительная фильтрация делается Схемой Производительности и имеет глобальный эффект, который применяется ко всем пользователям. Предварительная фильтрация может быть применена или к этапу производителя или к потребителя обработки событий:
Чтобы сконфигурировать предварительную фильтрацию на этапе производителя, несколько таблиц могут использоваться:
setup_instruments
таблица показывает, какие инструменты
доступны. Инструмент, отключенный в этой таблице, не производит событий независимо от
содержания других связанных с производством таблиц установки. Инструменту, включенному в
этой таблице, разрешают произвести события согласно содержанию других таблиц.
setup_objects
таблица определяет, контролируются ли определенные объекты. В настоящий момент Схема
Производительности использует это, чтобы управлять контролем табличных объектов.
threads
таблица показывает, включается ли контроль для
каждого потока сервера.
setup_actors
таблица определяет начальное контрольное состояние для новых приоритетных потоков.
Чтобы сконфигурировать предварительную фильтрацию на потребительском этапе,
измените setup_consumers
таблица. Это определяет места назначения, которым отправляются события.
setup_consumers
таблица также неявно влияет на производство события. Если данное событие не будет отправлено
никакому месту назначения (то есть, не будет использован), Схема Производительности не
производит его.
Модификации к любой из этих таблиц сразу влияют на контроль, за исключением setup_actors
. Модификации к setup_actors
влияйте только на приоритетные потоки, создаваемые после того.
Когда Вы изменяете контролирующую конфигурацию, Схема Производительности не сбрасывает таблицы истории.
События, уже собранные, остаются в текущих событиях и таблицах истории пока не перемещено более новыми
событиями. Если Вы отключаете инструменты, Вы, возможно, должны были бы ожидать некоторое время прежде, чем
события для них перемещаются более новыми мероприятиями. Альтернативно, использовать TRUNCATE TABLE
освободить таблицы истории.
После произведения изменений инструментария Вы могли бы хотеть усечь сводные таблицы также, чтобы очистить
совокупную информацию для ранее собранных событий. За исключением events_statements_summary_by_digest
, эффект TRUNCATE TABLE
поскольку сводные таблицы должны сбросить сводные столбцы
к 0 или NULL
, не удалить строки.
Следующие разделы описывают, как использовать определенные таблицы, чтобы управлять, как Схема Производительности выполняет предварительную фильтрацию.
setup_instruments
таблица приводит доступные инструменты:
mysql> SELECT * FROM
setup_instruments;
+------------------------------------------------------------+---------+-------+| NAME | ENABLED | TIMED |+------------------------------------------------------------+---------+-------+...| wait/synch/mutex/sql/LOCK_global_read_lock | YES | YES || wait/synch/mutex/sql/LOCK_global_system_variables | YES | YES || wait/synch/mutex/sql/LOCK_lock_db | YES | YES || wait/synch/mutex/sql/LOCK_manager | YES | YES |...| wait/synch/rwlock/sql/LOCK_grant | YES | YES || wait/synch/rwlock/sql/LOGGER::LOCK_logger | YES | YES || wait/synch/rwlock/sql/LOCK_sys_init_connect | YES | YES || wait/synch/rwlock/sql/LOCK_sys_init_slave | YES | YES |...| wait/io/file/sql/binlog | YES | YES || wait/io/file/sql/binlog_index | YES | YES || wait/io/file/sql/casetest | YES | YES || wait/io/file/sql/dbopt | YES | YES |...
Чтобы управлять, включается ли инструмент, устанавливает ENABLED
столбец к
YES
или NO
. Чтобы сконфигурировать, собрать ли
информацию синхронизации для инструмента, установите TIMED
значение к YES
или NO
. Установка TIMED
столбец влияет на табличное содержание Схемы Производительности как описано в Разделе
21.2.3.1, "Синхронизация События Схемы Производительности".
Следующие примеры демонстрируют возможные операции на setup_instruments
таблица. Эти изменения, как другие операции перед
фильтрацией, влияют на всех пользователей.
Отключите все инструменты:
mysql> UPDATE setup_instruments
SET ENABLED = 'NO';
Теперь никакие события не будут собраны.
Отключите все инструменты файла, добавляя их к текущему набору отключенных инструментов:
mysql>UPDATE setup_instruments SET ENABLED = 'NO'
->WHERE NAME LIKE 'wait/io/file/%';
Отключите только инструменты файла, включите всем другим инструментам:
mysql>UPDATE setup_instruments
->SET ENABLED = IF(NAME LIKE 'wait/io/file/%', 'NO', 'YES');
Предыдущие запросы используют LIKE
оператор и образец 'wait/io/file/%'
соответствовать все инструментальные имена, которые начинаются 'wait/io/file/
.
Для дополнительной информации об определении образцов, чтобы выбрать инструменты, см. Раздел
21.2.3.2.2, "Называя Инструменты или Потребителей для Фильтрации Операций".
Включите всем кроме тех инструментов в mysys
библиотека:
mysql>UPDATE setup_instruments
->SET ENABLED = CASE WHEN NAME LIKE '%/mysys/%' THEN 'YES' ELSE 'NO' END;
Отключите определенный инструмент:
mysql>UPDATE setup_instruments SET ENABLED = 'NO'
->WHERE NAME = 'wait/synch/mutex/mysys/TMPDIR_mutex';
Чтобы переключить состояние инструмента, "зеркально отразите" ENABLED
значение:
mysql>UPDATE setup_instruments
->SET ENABLED = IF(ENABLED = 'YES', 'NO', 'YES')
->WHERE NAME = 'wait/synch/mutex/mysys/TMPDIR_mutex';
Отключите синхронизацию для всех событий:
mysql> UPDATE setup_instruments
SET TIMED = 'NO';
Модификации к setup_instruments
таблица сразу влияет на контроль.
setup_objects
табличные
элементы управления, контролируются ли определенные объекты. В настоящий момент Схема Производительности
использует это, чтобы управлять контролем табличных объектов. Начальная буква setup_objects
содержание похоже на это:
mysql> SELECT * FROM
setup_objects;
+-------------+--------------------+-------------+---------+-------+| OBJECT_TYPE | OBJECT_SCHEMA | OBJECT_NAME | ENABLED | TIMED |+-------------+--------------------+-------------+---------+-------+| TABLE | mysql | % | NO | NO || TABLE | performance_schema | % | NO | NO || TABLE | information_schema | % | NO | NO || TABLE | % | % | YES | YES |+-------------+--------------------+-------------+---------+-------+
OBJECT_SCHEMA
и OBJECT_NAME
столбцы должны
содержать литеральную схему или имя таблицы, или '%'
соответствовать любое
имя.
Когда Схема Производительности проверяет на соответствие в setup_objects
, это пытается найти более определенные соответствия
сначала. Например, с таблицей db1.t1
, это ищет достойный 'db1'
и 't1'
, тогда для 'db1'
и '%'
, тогда для '%'
и '%'
. Порядок, в котором соответствие
происходит вопросы потому что отличающийся setup_objects
строки могут иметь отличающийся ENABLED
и TIMED
значения.
Эффект конфигурации объекта значения по умолчанию состоит в том, чтобы инструментовать все таблицы кроме
тех в mysql
, INFORMATION_SCHEMA
, и performance_schema
базы данных. Таблицы в INFORMATION_SCHEMA
база данных не инструментуется независимо от содержания setup_objects
; строка для information_schema.%
просто делает это значение по умолчанию явным.
Для связанных с таблицей событий Схема Производительности комбинирует содержание setup_objects
с setup_instruments
определить, включить ли инструментам и ли ко времени,
включенному инструменты:
Для таблиц, которые соответствуют строку в setup_objects
, табличные инструменты производят события, только
если им включают в обоих setup_instruments
и setup_objects
.
TIMED
значения в этих двух таблицах
объединяются, так, чтобы информация синхронизации была собрана только с обоими значениями, YES
.
Предположите это setup_objects
содержит следующие строки:
+-------------+---------------+-------------+---------+-------+| OBJECT_TYPE | OBJECT_SCHEMA | OBJECT_NAME | ENABLED | TIMED |+-------------+---------------+-------------+---------+-------+| TABLE | db1 | t1 | YES | YES || TABLE | db1 | t2 | YES | NO || TABLE | db2 | % | YES | YES || TABLE | db3 | % | YES | NO || TABLE | % | % | YES | YES |+-------------+---------------+-------------+---------+-------+
Если связанный с таблицей инструмент в setup_instruments
имеет a TIMED
значение
NO
, никакие события для инструмента не синхронизированы. Если TIMED
значение YES
, синхронизация события
происходит следующим образом:
db1.t1
события синхронизированы
db1.t2
события не синхронизированы
db2.t3
события синхронизированы
db3.t4
события не синхронизированы
db4.t5
события синхронизированы
Если у персистентной таблицы и временной таблицы есть то же самое имя, соответствуя против setup_objects
строки
происходят тот же самый путь к обоим. Не возможно позволить контролировать для одной таблицы, но не
другого. Однако, каждая таблица инструментуется отдельно.
Модификации к setup_objects
таблица влияет на объект, контролирующий сразу.
ENABLED
столбец был добавлен в MySQL 5.6.3. Для более ранних версий, которые
имеют нет ENABLED
столбец, setup_objects
используется только, чтобы позволить контролировать для
объектов, которые соответствуют некоторую строку в таблице. Нет никакого способа явно отключить
инструментарий с таблицей.
threads
таблица содержит строку для каждого потока сервера. Каждая строка
содержит информацию о потоке и указывает, включается ли контроль для этого. Для Схемы
Производительности, чтобы контролировать поток, этими вещами должна быть истина:
thread_instrumentation
потребитель в setup_consumers
таблица должна быть YES
.
thread.INSTRUMENTED
столбец должен быть YES
.
Контроль происходит только для тех событий потока, произведенных из
инструментов, которые включаются, как определено в setup_instruments
таблица.
INSTRUMENTED
столбец в threads
таблица показывает контролирующее состояние для каждого потока.
Для приоритетных потоков (следующий из клиентских соединений), начальная буква INSTRUMENTED
значение определяется тем, соответствует ли учетная запись пользователя, связанная с потоком, какую-либо
строку в setup_actors
таблица. Для фоновых потоков, INSTRUMENTED
YES
по умолчанию. setup_actors
не консультируется, потому что нет никакого связанного пользователя для фоновых потоков. Для любого
потока, INSTRUMENTED
значение может быть изменено во время жизни потока.
Начальная буква setup_actors
содержание похоже на это:
mysql> SELECT * FROM
setup_actors;
+------+------+------+| HOST | USER | ROLE |+------+------+------+| % | % | % |+------+------+------+
Схема Производительности использует HOST
и USER
столбцы, чтобы соответствовать каждый новый приоритетный поток. (ROLE
неиспользовано.) INSTRUMENTED
значение для
потока становится YES
если какая-либо строка соответствует. Это позволяет
инструментовать, чтобы быть примененным выборочно на узел, пользователя, или комбинацию узла и
пользователя.
HOST
и USER
столбцы должны содержать
литеральное имя хоста или имя пользователя, или '%'
соответствовать любое
имя. По умолчанию контроль включается для всех новых приоритетных потоков потому что setup_actors
таблица первоначально содержит строку с '%'
для обоих HOST
и USER
.
Чтобы выполнить более ограниченное соответствие, например, позволить контролировать только для некоторых
приоритетных потоков, следует удалить эту строку, потому что это соответствует любое соединение.
Предположите, что Вы изменяете setup_actors
следующим образом:
DELETE FROM setup_actors;
Теперь setup_actors
пусто и нет никаких строк, которые могли
соответствовать входящие соединения. Следовательно, Схема Производительности установит INSTRUMENTED
столбец для всего нового переднего плана распараллеливает к
NO
.
Предположите, что Вы далее изменяете setup_actors
:
INSERT INTO setup_actors (HOST,USER,ROLE) VALUES('localhost','joe','%');INSERT INTO setup_actors (HOST,USER,ROLE) VALUES('%','sam','%');
Теперь Схема Производительности определяет, как установить INSTRUMENTED
значение для нового соединения распараллеливает следующим образом:
Если joe
соединяется от локального узла,
соединение соответствует первую вставленную строку.
Если joe
соединяется от любого другого узла,
там не идет ни в какое сравнение.
Если sam
соединяется от любого узла,
соединение соответствует вторую вставленную строку.
Для любого другого соединения, там не идет ни в какое сравнение.
Модификации к setup_actors
таблица не влияет на существующие потоки.
setup_consumers
таблица приводит доступные потребительские типы и которые
включаются:
mysql> SELECT * FROM setup_consumers;
+--------------------------------+---------+| NAME | ENABLED |+--------------------------------+---------+| events_stages_current | NO || events_stages_history | NO || events_stages_history_long | NO || events_statements_current | YES || events_statements_history | NO || events_statements_history_long | NO || events_waits_current | NO || events_waits_history | NO || events_waits_history_long | NO || global_instrumentation | YES || thread_instrumentation | YES || statements_digest | YES |+--------------------------------+---------+
Измените setup_consumers
таблица, чтобы влиять на предварительную фильтрацию в потребителе подготавливает и определяет места
назначения, которым отправляются события. Чтобы включить или отключить потребителя, установите ENABLED
значение к YES
или NO
.
Модификации к setup_consumers
таблица сразу влияет на контроль.
Если Вы отключаете потребителя, сервер не проводит время, поддерживая это. Например, можно отключить потребителей истории, если Вы не заботитесь об информации об историческом событии:
mysql>UPDATE setup_consumers
->SET ENABLED = 'NO' WHERE NAME LIKE '%history%';
Потребительские настройки в setup_consumers
табличная форма иерархия от более высоких уровней, чтобы понизиться. Следующие принципы применяются:
Места назначения, связанные с потребителем, не получают событий, если Схема Производительности не проверяет потребителя, и потребителю включают.
Потребитель проверяется, только если все потребители, что это зависит от (если кто-либо) включаются.
Если потребитель не проверяется, или проверяется, но отключается, другие потребители, которые зависят от этого, не проверяются.
У зависимых потребителей могут быть свои собственные зависимые потребители.
Если событие не было бы отправлено никакому месту назначения, Схема Производительности не производит его.
Следующие списки описывают доступные потребительские значения. Для обсуждения нескольких представительных потребительских конфигураций и их эффекта на инструментарий, см. Раздел 21.2.3.2.1.5, "Потребительские Конфигурации В качестве примера".
Глобальная переменная и Потребители Потока
global_instrumentation
потребитель высшего
уровня. Если global_instrumentation
NO
,
это отключает глобальный инструментарий. Все другие настройки являются более низким уровнем и не
проверяются; не имеет значения, во что они устанавливаются. Никакая глобальная переменная или на
информацию о потоке не сохраняется, и никакие одиночные соревнования не собираются в таблицах
истории события или текущих событиях. Если global_instrumentation
YES
, Схема Производительности поддерживает информацию для
глобальных состояний и также проверяет thread_instrumentation
потребитель.
thread_instrumentation
проверяется только если
global_instrumentation
YES
. Иначе,
если thread_instrumentation
NO
, это
отключает специфичный для потока инструментарий, и все настройки низшего уровня игнорируются.
Никакая информация не сохраняется на поток, и никакие одиночные соревнования не собираются в
таблицах истории события или текущих событиях. Если thread_instrumentation
YES
, Схема
Производительности поддерживает специфичную для потока информацию и также проверяет events_
потребители.xxx
_current
Потребитель Обзора оператора
Этот потребитель требует global_instrumentation
быть YES
или это не проверяется. Нет никакой зависимости от потребителей События Оператора. Это означает, что
можно получить статистику на обзор, не имея необходимость собирать статистические данные в events_statements_current
,
который выгоден с точки зрения издержек.
Ожидайте Потребители События
Эти потребители требуют обоих global_instrumentation
и thread_instrumentation
быть YES
или они не
проверяются.
events_waits_current
, если NO
, отключает набор человека, ожидают события в events_waits_current
таблица. Если YES
, это включает, ожидают, набор события и Схема Производительности
проверяют events_waits_history
и events_waits_history_long
потребители.
events_waits_history
не проверяется если event_waits_current
NO
. Иначе, a events_waits_history
значение NO
или
YES
отключает или включает набору, ожидают события в events_waits_history
таблица.
events_waits_history_long
не проверяется если
event_waits_current
NO
. Иначе, a events_waits_history_long
значение NO
или YES
отключает или включает
набору, ожидают события в events_waits_history_long
таблица.
Потребители События этапа
Эти потребители требуют обоих global_instrumentation
и thread_instrumentation
быть YES
или они не
проверяются.
events_stages_current
, если NO
, отключает набор отдельных событий этапа в events_stages_current
таблица. Если YES
, это включает набору события этапа, и Схема Производительности
проверяет events_stages_history
и events_stages_history_long
потребители.
events_stages_history
не проверяется если event_stages_current
NO
. Иначе, a events_stages_history
значение NO
или
YES
отключает или включает набору событий этапа в events_stages_history
таблица.
events_stages_history_long
не проверяется если
event_stages_current
NO
. Иначе, a
events_stages_history_long
значение NO
или YES
отключает или включает набору событий этапа в events_stages_history_long
таблица.
Потребители События оператора
Эти потребители требуют обоих global_instrumentation
и thread_instrumentation
быть YES
или они не
проверяются.
events_statements_current
, если NO
, отключает набор отдельных событий оператора в events_statements_current
таблица. Если YES
, это включает набору события оператора, и Схема
Производительности проверяет events_statements_history
и events_statements_history_long
потребители.
events_statements_history
не проверяется если
events_statements_current
NO
. Иначе, a
events_statements_history
значение NO
или YES
отключает или включает набору событий оператора в events_statements_history
таблица.
events_statements_history_long
не проверяется
если events_statements_current
NO
.
Иначе, a events_statements_history_long
значение NO
или YES
отключает или включает
набору событий оператора в events_statements_history_long
таблица.
Потребительские настройки в setup_consumers
табличная форма иерархия от более высоких уровней, чтобы понизиться. Следующее обсуждение описывает, как
потребители работают, показывая определенные конфигурации и их эффекты, поскольку от потребительских
настроек включают прогрессивно высоко до низко. Потребитель оценивает показанный, являются
представительными. Общие принципы, описанные здесь, применяются к другим потребительским значениям,
которые могут быть доступными.
Описания конфигурации происходят в порядке увеличивающейся функциональности и издержек. Если Вы не нуждаетесь в информации, предоставленной, включая настройкам низшего уровня, отключаете их, и Схема Производительности выполнит меньше кода от Вашего имени, и у Вас будет меньше информации, чтобы отсеять через.
Предположите что setup_consumers
таблица содержит следующую иерархию значений:
global_instrumentation thread_instrumentation events_waits_current events_waits_history events_waits_history_long
Если данный потребитель, устанавливающий, NO
, Схема Производительности
отключает инструментарий, связанный с потребителем, и игнорирует все настройки низшего уровня. Если
данная установка YES
, Схема Производительности включает инструментарию,
связанному с этим, и проверяет настройки на следующем самом низком уровне.
Каждое описание конфигурации указывает, какие элементы установки проверки Схемы Производительности и которые выводят таблицы, которые оно поддерживает (то есть, для которых таблиц оно собирает информацию).
Состояние конфигурации сервера:
mysql> SELECT * FROM setup_consumers;
+---------------------------+---------+| NAME | ENABLED |+---------------------------+---------+| global_instrumentation | NO |...+---------------------------+---------+
В этой конфигурации ничто не инструментуется.
Элементы установки проверяли:
Таблица setup_consumers
, потребитель global_instrumentation
Выходные таблицы поддержали:
Ни один
Состояние конфигурации сервера:
mysql> SELECT * FROM setup_consumers;
+---------------------------+---------+| NAME | ENABLED |+---------------------------+---------+| global_instrumentation | YES || thread_instrumentation | NO |...+---------------------------+---------+
В этой конфигурации инструментарий сохраняется только для глобальных состояний. Инструментарий на поток отключается.
Дополнительные проверенные элементы установки, относительно предыдущей конфигурации:
Таблица setup_consumers
, потребитель thread_instrumentation
Таблица setup_instruments
Таблица setup_objects
Таблица setup_timers
Дополнительные выходные сохраняемые таблицы, относительно предыдущей конфигурации:
table_lock_waits_summary_by_table
table_io_waits_summary_by_index_usage
table_io_waits_summary_by_table
Состояние конфигурации сервера:
mysql> SELECT * FROM setup_consumers;
+---------------------------+---------+| NAME | ENABLED |+---------------------------+---------+| global_instrumentation | YES || thread_instrumentation | YES || events_waits_current | NO |...+---------------------------+---------+
В этой конфигурации инструментарий сохраняется глобально и на поток. Никакой человек не ожидает, события собираются в таблицах истории события или текущих событиях.
Дополнительные проверенные элементы установки, относительно предыдущей конфигурации:
Таблица setup_consumers
, потребитель events_waits_current
Таблица setup_actors
Столбец threads.instrumented
Дополнительные выходные сохраняемые таблицы, относительно предыдущей конфигурации:
Состояние конфигурации сервера:
mysql> SELECT * FROM setup_consumers;
+---------------------------+---------+| NAME | ENABLED |+---------------------------+---------+| global_instrumentation | YES || thread_instrumentation | YES || events_waits_current | YES || events_waits_history | NO || events_waits_history_long | NO |...+---------------------------+---------+
В этой конфигурации инструментарий сохраняется глобально и на поток. Человек ожидает, события собираются в таблице текущих событий, но не в таблицах истории события.
Дополнительные проверенные элементы установки, относительно предыдущей конфигурации:
Потребитель events_waits_history
Потребитель events_waits_history_long
Дополнительные выходные сохраняемые таблицы, относительно предыдущей конфигурации:
Предыдущая конфигурация собирается, не ожидают история события потому что events_waits_history
и events_waits_history_long
потребители отключаются. Тем потребителям можно
включить отдельно или вместе собрать историю события на поток, глобально, или обоих.
Эта конфигурация собирает историю события на поток, но не глобально:
mysql> SELECT * FROM setup_consumers;
+---------------------------+---------+| NAME | ENABLED |+---------------------------+---------+| global_instrumentation | YES || thread_instrumentation | YES || events_waits_current | YES || events_waits_history | YES || events_waits_history_long | NO |...+---------------------------+---------+
Таблицы истории события поддержали для этой конфигурации:
Эта конфигурация собирает историю события глобально, но не на поток:
mysql> SELECT * FROM setup_consumers;
+---------------------------+---------+| NAME | ENABLED |+---------------------------+---------+| global_instrumentation | YES || thread_instrumentation | YES || events_waits_current | YES || events_waits_history | NO || events_waits_history_long | YES |...+---------------------------+---------+
Таблицы истории события поддержали для этой конфигурации:
Эта конфигурация собирает историю события на поток и глобально:
mysql> SELECT * FROM setup_consumers;
+---------------------------+---------+| NAME | ENABLED |+---------------------------+---------+| global_instrumentation | YES || thread_instrumentation | YES || events_waits_current | YES || events_waits_history | YES || events_waits_history_long | YES |...+---------------------------+---------+
Таблицы истории события поддержали для этой конфигурации:
Имена, данные для того, чтобы фильтровать операции, могут быть столь определенными или общими как требуется. Чтобы указать на единственный инструмент или потребителя, определите его имя полностью:
mysql>UPDATE setup_instruments
->SET ENABLED = 'NO'
->WHERE NAME = 'wait/synch/mutex/myisammrg/MYRG_INFO::mutex';
mysql>UPDATE setup_consumers
->SET ENABLED = 'NO' WHERE NAME = 'events_waits_current';
Чтобы определить группу инструментов или потребителей, используйте образец, который соответствует членам группы:
mysql>UPDATE setup_instruments
->SET ENABLED = 'NO'
->WHERE NAME LIKE 'wait/synch/mutex/%';
mysql>UPDATE setup_consumers
->SET ENABLED = 'NO' WHERE NAME LIKE '%history%';
Если Вы используете образец, он должен быть выбран так, чтобы он соответствовал все элементы интереса и никаких других. Например, чтобы выбрать все инструменты файлового ввода-вывода, лучше использовать образец, который включает весь инструментальный префикс имени:
... WHERE NAME LIKE 'wait/io/file/%';
Образец '%/file/%'
будет соответствовать другие инструменты, у которых есть
компонент '/file/'
где угодно на имя. Еще менее подходящий образец '%file%'
потому что это будет соответствовать инструменты с 'file'
где угодно на имя, такой как wait/synch/mutex/sql/LOCK_des_key_file
.
Чтобы проверить, какой инструмент или потребитель называют образец соответствиями, выполните простой тест:
mysql>SELECT NAME FROM setup_instruments WHERE NAME LIKE '
mysql>pattern
';SELECT NAME FROM setup_consumers WHERE NAME LIKE '
pattern
';
Для получения информации о типах имен, которые поддерживаются, см. Раздел 21.4, "Инструментальные Соглашения о присвоении имен Схемы Производительности".