ここで説明する「パフォーマンススキーマ」テーブルは、MySQL 8.0.14 の時点で使用可能です。 MySQL 8.0.14 より前は、かわりに対応する INFORMATION_SCHEMA
テーブルを使用してください。セクション26.52.1「INFORMATION_SCHEMA TP_THREAD_GROUP_STATE テーブル」 を参照してください。
tp_thread_group_state
テーブルには、スレッドプール内のスレッドグループごとに 1 つの行があります。 それぞれの行には、グループの現在の状態に関する情報が表示されます。
tp_thread_group_state
テーブルには、次のカラムがあります:
-
TP_GROUP_ID
スレッドグループ ID です。 これはテーブル内の一意のキーです。
-
CONSUMER THREADS
コンシューマスレッドの数です。 アクティブなスレッドが停止またはブロックされると、実行開始可能なスレッドが最大 1 つ存在します。
-
RESERVE_THREADS
予約状態のスレッドの数です。 つまり、新しいスレッドをスリープ解除する必要があり、コンシューマスレッドが存在しなくなるまで、それらは起動されません。 これは、通常の操作で必要になる数よりも多くのスレッドをスレッドグループが作成したときに、ほとんどのスレッドが最終的に達する状態です。 多くの場合、スレッドグループは短い間追加スレッドを必要とし、その後しばらくの間はふたたび必要とすることはありません。 この場合には予約状態になり、ふたたび必要とされるまでその状態のままです。 ある程度のメモリーリソースをべつに使用しますが、追加のコンピューティングリソースは必要ありません。
-
CONNECT_THREAD_COUNT
接続の初期化および認証の処理を処理中または待機中のスレッドの数。 スレッドグループごとに最大 4 つの接続スレッドを使用できます。これらのスレッドは、非アクティブな期間が経過すると期限切れになります。
-
CONNECTION_COUNT
このスレッドグループを使用した接続の数です。
-
QUEUED_QUERIES
優先度の高いキューで待機しているステートメントの数です。
-
QUEUED_TRANSACTIONS
優先度の低いキューで待機しているステートメントの数です。 これらは、開始されていないトランザクションの初期ステートメントなので、キューに入れられたトランザクションも表します。
-
STALL_LIMIT
スレッドグループの
thread_pool_stall_limit
システム変数の値。 これはすべてのスレッドグループで同じ値です。 -
PRIO_KICKUP_TIMER
スレッドグループの
thread_pool_prio_kickup_timer
システム変数の値。 これはすべてのスレッドグループで同じ値です。 -
ALGORITHM
スレッドグループの
thread_pool_algorithm
システム変数の値。 これはすべてのスレッドグループで同じ値です。 -
THREAD_COUNT
このスレッドグループの一部としてスレッドプール内で開始されたスレッドの数です。
-
ACTIVE_THREAD_COUNT
ステートメントの実行中にアクティブなスレッドの数。
-
STALLED_THREAD_COUNT
停止したスレッドグループ内のステートメントの数です。 停止したステートメントが実行している可能性はありますが、スレッドプールから見ると停止して、進行していません。 長時間実行しているステートメントはすぐにこのカテゴリで終了します。
-
WAITING_THREAD_NUMBER
スレッドグループ内のステートメントのポーリングを処理するスレッドがある場合、これにより、このスレッドグループ内のスレッド番号が指定されます。 このスレッドがステートメントを実行している可能性があります。
-
OLDEST_QUEUED
もっとも古いキューに入れられたステートメントが実行待機した時間です (ミリ秒単位)。
-
MAX_THREAD_IDS_IN_GROUP
グループ内のスレッドの最大スレッド ID です。 これは、
tp_thread_state
テーブルから選択した場合のスレッドのMAX(TP_THREAD_NUMBER)
と同じです。 つまり、次の 2 つのクエリーは同等です。SELECT TP_GROUP_ID, MAX_THREAD_IDS_IN_GROUP FROM tp_thread_group_state; SELECT TP_GROUP_ID, MAX(TP_THREAD_NUMBER) FROM tp_thread_state GROUP BY TP_GROUP_ID;
tp_thread_group_state
テーブルには次のインデックスがあります:
(
TP_GROUP_ID
) の一意インデックス
TRUNCATE TABLE
は、tp_thread_group_state
テーブルに対して許可されていません。