このページは機械翻訳したものです。
setup_consumers テーブル内のコンシューマ設定は、高いレベルから低いレベルまでの階層を形成します。 次の説明では、コンシューマのしくみを説明し、コンシューマ設定が高から低に段階に有効にされたときの特定の構成とそれらの効果を示します。 示されているコンシューマ値は代表的なものです。 ここで説明する一般原則は、使用可能なほかのコンシューマ値に当てはまります。
構成の説明は、機能とオーバーヘッドが増加する順番で示しています。 下位レベルの設定を有効にすることで提供される情報が必要ない場合は、パフォーマンススキーマが実行するコードが少なくなり、サイフトスルーする情報が少なくなるように無効にします。
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 の場合、パフォーマンススキーマはコンシューマに関連付けられたインストゥルメンテーションを無効にし、すべての低レベルの設定を無視します。 特定の設定が YES の場合、パフォーマンススキーマはそれに関連付けられたインストゥルメンテーションを有効にし、次の最低レベルの設定をチェックします。 各コンシューマのルールの説明については、セクション27.4.7「コンシューマによる事前フィルタリング」を参照してください。
たとえば、global_instrumentation が有効にされている場合、thread_instrumentation がチェックされます。 thread_instrumentation が有効にされている場合、events_ コンシューマがチェックされます。 これらのうち xxx_currentevents_waits_current が有効にされている場合、events_waits_history および events_waits_history_long がチェックされます。
次の構成の各説明は、パフォーマンススキーマがチェックするセットアップ要素と、それが保守する出力テーブル (つまり、それが情報を収集するテーブル) を示します。
サーバー構成の状態:
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
先述の構成に関連して保守される追加の出力テーブル:
mutex_instancesrwlock_instancescond_instancesfile_instancesusershostsaccountssocket_summary_by_event_namefile_summary_by_instancefile_summary_by_event_nameobjects_summary_global_by_typememory_summary_global_by_event_nametable_lock_waits_summary_by_tabletable_io_waits_summary_by_index_usagetable_io_waits_summary_by_tableevents_waits_summary_by_instanceevents_waits_summary_global_by_event_nameevents_stages_summary_global_by_event_nameevents_statements_summary_global_by_event_nameevents_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 |
...
+----------------------------------+---------+
この構成では、インストゥルメンテーションがグローバルおよびスレッドごとに保守されます。 現在のイベントまたはイベント履歴テーブルで、個々のイベントは収集されません。
先述の構成に関連して、チェックされる追加のセットアップ要素:
xxxがwaits,stages,statements,transactionsであるテーブルsetup_consumers、コンシューマevents_xxx_currentテーブル
setup_actorsカラム
threads.instrumented
先述の構成に関連して保守される追加の出力テーブル:
events_(xxx_summary_by_yyy_by_event_namexxxは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 |
...
+----------------------------------+---------+
この構成では、インストゥルメンテーションがグローバルおよびスレッドごとに保守されます。 個々のイベントが現在のイベントテーブルに収集されますが、イベント履歴テーブルには収集されません。
先述の構成に関連して、チェックされる追加のセットアップ要素:
コンシューマ
events_(xxx_historyxxxはwaits,stages,statements,transactions)コンシューマ
events_(xxx_history_longxxxはwaits,stages,statements,transactions)
先述の構成に関連して保守される追加の出力テーブル:
events_(xxx_currentxxxはwaits,stages,statements,transactions)
events_ および xxx_historyevents_ コンシューマは無効にされているため、先述の構成はイベント履歴を収集しません。 それらのコンシューマは個別またはまとめて有効にして、スレッドごと、グローバルに、またはその両方でイベント履歴を収集できます。
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_historyxxxは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_longxxxは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_historyxxxはwaits,stages,statements,transactions)events_(xxx_history_longxxxはwaits,stages,statements,transactions)