该 tp_thread_group_state
表每行对应线程池中的一个线程组。每行提供了该组当前状态的信息。
该 tp_thread_group_state
表具有以下列:
-
TP_GROUP_ID
线程组 ID。这是表中的唯一键。
-
CONSUMER THREADS
消费者线程的数量。最多有一个线程准备执行,如果活动线程被阻塞或阻塞。
-
RESERVE_THREADS
保留状态中的线程数量。这意味着它们不会启动,直到需要唤醒新线程,并且没有消费者线程。在这种情况下,它们将进入保留状态,直到再次需要。
-
CONNECT_THREAD_COUNT
处理或等待处理连接初始化和身份验证的线程数量。每个线程组最多可以有四个连接线程;这些线程在一段时间不活动后将过期。
-
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)
相同。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;
-
EFFECTIVE_MAX_TRANSACTIONS_LIMIT
该组的有效
max_transactions_limit_per_tg
值。 -
NUM_QUERY_THREADS
该组中的工作线程数量。
-
TIME_OF_LAST_THREAD_CREATION
最后创建线程的时间点。
-
NUM_CONNECT_HANDLER_THREAD_IN_SLEEP
不活动的连接处理线程数量。
-
THREADS_BOUND_TO_TRANSACTION
活动事务中的线程数,必须小于
thread_pool_max_transactions_limit
;只有当thread_pool_max_transactions_limit
不是0
时才设置。 -
QUERY_THREADS_COUNT
与 num_query_threads 相同,但用于不同的目的?
-
TIME_OF_EARLIEST_CON_EXPIRE
显示连接预计到期的最早时间点的时间戳。
The tp_thread_group_state
表有一个索引;这是 TP_GROUP_ID
列上的唯一索引。
在 MySQL 8.3 中添加了 EFFECTIVE_MAX_TRANSACTIONS_LIMIT
、NUM_QUERY_THREADS
、TIME_OF_LAST_THREAD_CREATION
、NUM_CONNECT_HANDLER_THREAD_IN_SLEEP
、THREADS_BOUND_TO_TRANSACTION
、QUERY_THREADS_COUNT
和 TIME_OF_EARLIEST_CON_EXPIRE
列。
TRUNCATE TABLE
不允许用于 tp_thread_group_state
表。