此处描述的性能模式表从MySQL 8.0.14版本开始可用。在MySQL 8.0.14之前,使用相应的INFORMATION_SCHEMA
表相反;看到信息模式TP_THREAD_GROUP_STATS表.
的tp_thread_group_stats
表报告每个线程组的统计信息。每组有一行。
的tp_thread_group_stats
表有这些列:
TP_GROUP_ID
线程组ID。这是表中唯一的键。
CONNECTIONS_STARTED
已启动的连接数。
CONNECTIONS_CLOSED
关闭的连接数。
QUERIES_EXECUTED
执行的语句数。这个数字在语句开始执行时递增,而不是在语句结束时递增。
QUERIES_QUEUED
排队等待执行的收到的语句的数目。这并不计算线程组能够立即开始执行而不排队的语句,而排队可能发生在中描述的条件下线程池操作.
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
等待。当线程进入睡眠状态时(例如,通过调用睡眠()
功能)。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
)
截断表
是不允许的tp_thread_group_stats
表格