24.33.2 INFORMATION_SCHEMA TP_THREAD_GROUP_STATStable
TP_THREAD_GROUP_STATStable 报告每个线程组的统计信息。每组一行。
TP_THREAD_GROUP_STATStable 具有以下列:
TP_GROUP_ID
线程组 ID。这是 table 中的唯一键。
CONNECTIONS_STARTED
启动的连接数。
CONNECTIONS_CLOSED
关闭的连接数。
QUERIES_EXECUTED
执行的语句数。语句开始执行时(而不是执行结束时),此数字增加。
QUERIES_QUEUED
已排队 await 执行的语句数。这不计算线程组能够立即开始执行而无需排队的语句,这种情况可能在第 5.5.3.3 节“线程池操作”中描述的条件下发生。
THREADS_STARTED
启动的线程数。
PRIO_KICKUPS
基于thread_pool_prio_kickup_timer系统变量的值从低优先级队列移到高优先级队列的语句数。如果此数字迅速增加,请考虑增加该变量的值。快速增加的计数器意味着优先级系统不会阻止事务开始得太早。对于InnoDB,这最有可能意味着由于有太多并发事务而导致性能下降。
STALLED_QUERIES_EXECUTED
由于执行时间长于thread_pool_stall_limit系统变量的值,已被定义为停顿的语句数。
BECOME_CONSUMER_THREAD
已为线程分配使用者线程角色的次数。
BECOME_RESERVE_THREAD
线程被分配备用线程角色的次数。
BECOME_WAITING_THREAD
为线程分配了 await 线程角色的次数。当语句排队时,即使在正常操作中,这种情况也经常发生,因此在语句排队的高负载系统中,此值的快速增加是正常的。
WAKE_THREAD_STALL_CHECKER
停顿检查线程决定唤醒或创建一个线程以处理某些语句或担当服务线程角色的次数。
SLEEP_WAITS
THD_WAIT_SLEEP
个 await 的次数。这些发生在线程进入睡眠状态时。例如,通过调用SLEEP()函数。
DISK_IO_WAITS
THD_WAIT_DISKIO
个 await 的次数。当线程执行磁盘 I/O 可能不会命中文件系统缓存时,就会发生这些情况。当缓冲池在磁盘上读取数据并将数据写入磁盘时,而不是在正常情况下从文件读取和写入数据时,会发生此类 await。
ROW_LOCK_WAITS
THD_WAIT_ROW_LOCK
的数量 await 另一个事务释放行锁。
GLOBAL_LOCK_WAITS
THD_WAIT_GLOBAL_LOCK
的数量 await 释放全局锁。
META_DATA_LOCK_WAITS
THD_WAIT_META_DATA_LOCK
的数量 await 元数据锁定被释放。
TABLE_LOCK_WAITS
THD_WAIT_TABLE_LOCK
的数量 await 该语句需要访问的 table 被解锁。
USER_LOCK_WAITS
THD_WAIT_USER_LOCK
的数量正在 await 由用户线程构造的特殊锁。
BINLOG_WAITS
THD_WAIT_BINLOG_WAITS
的数量 await 二进制日志释放。
GROUP_COMMIT_WAITS
THD_WAIT_GROUP_COMMIT
个 await 的次数。当组提交必须 await 其他方完成其事务部分时,就会发生这种情况。
FSYNC_WAITS
THD_WAIT_SYNC
的数量 await 文件同步操作。