MySQL 8.0 リファレンスマニュアル


27.12.16.1 tp_thread_group_state テーブル

注記

ここで説明する「パフォーマンススキーマ」テーブルは、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 テーブルに対して許可されていません。


関連キーワード:  テーブル, パフォーマンス, スキーマ, グループ, thread, ステートメント, events, group, replication, 変数