tp_thread_group_stats
表按线程组报告统计信息。每个组对应一行。
tp_thread_group_stats
表包含以下列
TP_GROUP_ID
线程组 ID。这是表中的唯一键。
CONNECTIONS_STARTED
已启动的连接数。
CONNECTIONS_CLOSED
已关闭的连接数。
QUERIES_EXECUTED
已执行的语句数。当语句开始执行时,此数字会递增,而不是在语句完成时递增。
QUERIES_QUEUED
已接收并排队等待执行的语句数。这并不包括线程组能够立即开始执行而无需排队的语句,这可能会在第 7.6.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
线程被分配等待线程角色的次数。当语句排队时,这经常发生,即使在正常操作中也是如此,因此在高负载系统中,如果语句排队,则此值的快速增加是正常的。
WAKE_THREAD_STALL_CHECKER
停滞检查线程决定唤醒或创建线程以可能处理某些语句或处理等待线程角色的次数。
SLEEP_WAITS
THD_WAIT_SLEEP
等待次数。这些等待发生在线程进入睡眠状态时(例如,通过调用SLEEP()
函数)。DISK_IO_WAITS
THD_WAIT_DISKIO
等待次数。这些等待发生在线程执行磁盘 I/O 且可能不会命中文件系统缓存时。这种等待发生在缓冲池将数据读写到磁盘时,而不是在对文件的正常读写操作中。ROW_LOCK_WAITS
THD_WAIT_ROW_LOCK
等待次数,等待另一个事务释放行锁。GLOBAL_LOCK_WAITS
THD_WAIT_GLOBAL_LOCK
等待次数,等待释放全局锁。META_DATA_LOCK_WAITS
THD_WAIT_META_DATA_LOCK
等待次数,等待释放元数据锁。TABLE_LOCK_WAITS
THD_WAIT_TABLE_LOCK
等待次数,等待解锁语句需要访问的表。USER_LOCK_WAITS
THD_WAIT_USER_LOCK
等待次数,等待用户线程构建的特殊锁。BINLOG_WAITS
THD_WAIT_BINLOG_WAITS
等待次数,等待二进制日志变为可用。GROUP_COMMIT_WAITS
THD_WAIT_GROUP_COMMIT
等待次数。这些等待发生在组提交必须等待其他方完成其事务部分时。FSYNC_WAITS
对于文件同步操作,
THD_WAIT_SYNC
等待次数。
tp_thread_group_stats
表有以下索引
在 (
TP_GROUP_ID
) 上的唯一索引
TRUNCATE TABLE
不允许用于 tp_thread_group_stats
表。