MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
threads
テーブルは各サーバースレッドの行を格納します。 各行は、スレッドに関する情報を格納し、それに対するモニタリングが有効にされているかどうかを示します。 スレッドをモニターするパフォーマンススキーマの場合、これらのことが当てはまる必要があります。
setup_consumers
テーブル内の thread_instrumentation
コンシューマは YES
である必要があります。
threads.INSTRUMENTED
カラムは YES
である必要があります。
setup_instruments
テーブル内で有効にされているインストゥルメントから生成されたスレッドイベントに対してのみ、モニタリングが行われます。
threads
テーブルには、履歴イベントロギングを実行するかどうかもサーバースレッドごとに示されます。 これには待機イベント、ステージイベント、ステートメントイベントおよびトランザクションイベントが含まれ、次のテーブルへのロギングに影響します:
events_waits_history events_waits_history_long events_stages_history events_stages_history_long events_statements_history events_statements_history_long events_transactions_history events_transactions_history_long
履歴イベントロギングを実行するには、次のことが当てはまる必要があります:
setup_consumers
テーブルの適切な履歴関連コンシューマを有効にする必要があります。 たとえば、events_waits_history
および events_waits_history_long
テーブルの待機イベントロギングでは、対応する events_waits_history
および events_waits_history_long
コンシューマが YES
である必要があります。
threads.HISTORY
カラムは YES
である必要があります。
ロギングは、setup_instruments
テーブルで有効になっているインストゥルメントから生成されたスレッドイベントに対してのみ行われます。
フォアグラウンドスレッド (クライアント接続の結果) の場合、threads
テーブルの行の INSTRUMENTED
および HISTORY
カラムの初期値は、スレッドに関連付けられたユーザーアカウントが setup_actors
テーブルのいずれかの行と一致するかどうかによって決まります。 値は、一致する setup_actors
テーブルの行の ENABLED
カラムおよび HISTORY
カラムから取得されます。
バックグラウンドスレッドの場合、関連付けられたユーザーはありません。 INSTRUMENTED
および HISTORY
はデフォルトで YES
であり、setup_actors
は参照されません。
初期 setup_actors
の内容は次のように見えます。
mysql> SELECT * FROM performance_schema.setup_actors;
+------+------+------+---------+---------+
| HOST | USER | ROLE | ENABLED | HISTORY |
+------+------+------+---------+---------+
| % | % | % | YES | YES |
+------+------+------+---------+---------+
HOST
および USER
カラムにはリテラルのホストまたはユーザー名、または任意の名前に一致する '%'
が格納されているべきです。
ENABLED
および HISTORY
のカラムは、前述の他の条件に従って、一致するスレッドのインストゥルメンテーションおよび履歴イベントロギングを有効にするかどうかを示します。
パフォーマンススキーマは、setup_actors
の新しいフォアグラウンドスレッドごとに一致をチェックするときに、USER
および HOST
カラムを使用して、より具体的な一致を最初に見つけようとします (ROLE
は使用されません):
USER='
および literal
'HOST='
を含む行。
literal
'
USER='
および literal
'HOST='%'
を含む行。
USER='%'
および HOST='
を含む行。
literal
'
USER='%'
および HOST='%'
を含む行。
一致する setup_actors
行が異なると USER
値と HOST
値が異なる可能性があるため、一致が発生する順序は重要です。 これにより、ENABLED
および HISTORY
のカラム値に基づいて、インスツルメント処理および履歴イベントロギングをホスト、ユーザーまたはアカウント (ユーザーとホストの組合せ) ごとに選択的に適用できます:
最適な一致が ENABLED=YES
の行である場合、スレッドの INSTRUMENTED
値は YES
になります。 最適な一致が HISTORY=YES
の行である場合、スレッドの HISTORY
値は YES
になります。
最適な一致が ENABLED=NO
の行である場合、スレッドの INSTRUMENTED
値は NO
になります。 最適な一致が HISTORY=NO
の行である場合、スレッドの HISTORY
値は NO
になります。
一致するものが見つからない場合、スレッドの INSTRUMENTED
および HISTORY
の値は NO
になります。
setup_actors
行の ENABLED
カラムと HISTORY
カラムは、互いに独立して YES
または NO
に設定できます。 つまり、履歴イベントを収集するかどうかとは別にインストゥルメンテーションを有効にできます。
デフォルトでは、監視および履歴イベント収集はすべての新しいフォアグラウンドスレッドに対して有効になっています。これは、setup_actors
テーブルには、HOST
と USER
の両方の'%'
を含む行が最初に含まれているためです。 一部のフォアグラウンドスレッドに対してのみ監視を有効にするなど、より限定的な照合を実行するには、この行が任意の接続に一致するため、この行を変更し、より具体的な HOST
/USER
の組合せに対して行を追加する必要があります。
次のように setup_actors
を変更するとします。
UPDATE performance_schema.setup_actors SET ENABLED = 'NO', HISTORY = 'NO' WHERE HOST = '%' AND USER = '%'; INSERT INTO performance_schema.setup_actors (HOST,USER,ROLE,ENABLED,HISTORY) VALUES('localhost','joe','%','YES','YES'); INSERT INTO performance_schema.setup_actors (HOST,USER,ROLE,ENABLED,HISTORY) VALUES('hosta.example.com','joe','%','YES','NO'); INSERT INTO performance_schema.setup_actors (HOST,USER,ROLE,ENABLED,HISTORY) VALUES('%','sam','%','NO','YES');
UPDATE
ステートメントは、インストゥルメンテーションおよび履歴イベント収集を無効にするようにデフォルトの一致を変更します。 INSERT
ステートメントは、より具体的な一致のために行を追加します。
パフォーマンススキーマは、新しい接続スレッドの INSTRUMENTED
および HISTORY
の値を次のように設定する方法を決定します:
joe
がローカルホストから接続する場合、接続は最初に挿入された行に一致します。 スレッドの INSTRUMENTED
および HISTORY
の値は YES
になります。
joe
が hosta.example.com
から接続する場合、接続は挿入された 2 番目の行と一致します。 スレッドの INSTRUMENTED
値は YES
になり、HISTORY
値は NO
になります。
joe
がほかのすべてのホストから接続する場合、一致はありません。 スレッドの INSTRUMENTED
および HISTORY
の値は NO
になります。
sam
がいずれかのホストから接続する場合、接続は 3 番目に挿入された行と一致します。 スレッドの INSTRUMENTED
値は NO
になり、HISTORY
値は YES
になります。
その他の接続では、HOST
および USER
が'%'
に設定されている行が一致します。 この行の ENABLED
および HISTORY
は NO
に設定されているため、スレッドの INSTRUMENTED
および HISTORY
の値は NO
になります。
setup_actors
テーブルの変更は、変更後に作成されたフォアグラウンドスレッドにのみ影響し、既存のスレッドには影響しません。 既存のスレッドに影響を与えるには、threads
テーブルの行の INSTRUMENTED
および HISTORY
カラムを変更します。