这里描述的性能模式表在MySQL 8.0.14版本中可用。在MySQL 8.0.14之前,使用相应的INFORMATION_SCHEMA
表相反;看到信息schema TP_THREAD_GROUP_STATE表。
的tp_thread_group_state
表中线程池中的每个线程组只有一行。每行提供关于组当前状态的信息。
的tp_thread_group_state
表有这些列:
TP_GROUP_ID
线程组ID。这是表中的唯一键。
消费者线程
使用者线程的数量。如果活动线程停止或阻塞,则最多有一个线程准备开始执行。
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
线程组的系统变量。这对于所有线程组都是相同的值。算法
的值
thread_pool_algorithm
线程组的系统变量。这对于所有线程组都是相同的值。THREAD_COUNT
作为该线程组的一部分在线程池中启动的线程数。
ACTIVE_THREAD_COUNT
执行语句时活动的线程数。
STALLED_THREAD_COUNT
线程组中被停止的语句数。暂停的语句可能正在执行,但从线程池的角度来看,它已经暂停,没有任何进展。长时间运行的语句很快就会归入这一类。
WAITING_THREAD_NUMBER
如果有线程处理线程组中的语句轮询,则指定该线程组中的线程号。这个线程可能正在执行一条语句。
OLDEST_QUEUED
最古老的排队语句等待执行的时间(以毫秒为单位)。
MAX_THREAD_IDS_IN_GROUP
组中线程的最大线程ID。这和
马克斯(TP_THREAD_NUMBER)
对象中选择的线程tp_thread_state
表格也就是说,这两个查询是等价的: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
的tp_thread_group_state
表中有这些索引:
唯一索引(
TP_GROUP_ID
)
截断表
是不允许的tp_thread_group_state
表格