MySQL性能突发事件问题排查技巧
这部分简单的打印,输出的时间,以及自从上次输出的间隔时间。 ②.BACKGROUND THREAD ![]() ③. SEMAPHORES 信号量 OS WAIT ARRAY INFO 操作系统等待数组的信息,它是一个插槽数组,innodb使用了多少次操作系统的等待 保留统计(reservation count)显示了innodb分配插槽的频度 信号计数(signal count) 衡量的是线程通过数组得到信号的频度 RW-shared spins:#这行显示读写的共享锁的计数器 RW-excl spins:#这行显示读写的排他锁的计数器 RW-sx spins:#这行显示共享排它锁计数器 *备注:5.7.2增加了一种新的读写锁类型称为SX共享排他锁 锁的拥有则可以读表中的任何数据,如果在相应的行上能够获得X锁,则可以修改该行。 ④. TRANSACTIONS 包含Innodb 事务(transactions)的统计信息,还有当前活动的事务列表。 transaction id: 这个ID是一个系统变量随时每次新的transaction产生而增加。 Purge done:正在进行清空(purge)操作的transaction ID。你可以通过查看第transaction id和第Purge done ID的区别,明白没有被purge的事务落后的情况。 History listlength:记录了undo spaces内unpurged的事务的个数。 ⑤. FILE I/O 显示了I/O Helper thread的状态,包括一些统计信息 pending operations, pending的log和buffer pool thread的fsync()调用 399 OS file:行显示了reads, writes, and fsync()调用次数。 0.00 reads/s…… : 显示了每秒的统计信息 备注:“aio”表示“ 异步I/O(asynchronous I/O).” ⑥. INSERT BUFFER AND ADAPTIVE HASH INDEX Ibuf:insertbuffer的一些信息,包括free list, segment size Hash table:显示了hash table的一些信息最后一行显示了每秒进行了多少次hash搜索,以及非hash搜索 ⑦. LOG Log sequence number表示的是redo log buffer中的lsn Log flushed up to表示的是redo log file中的lsn Pages flushed up to表示的缓冲池最旧脏页的lsn Last checkpoint at 指的就是最近一个物理页刷新到磁盘时,它的fil_page_lsn的变量值。 ⑧. BUFFER POOL AND MEMORY 当前内存使用状态 Pages read ahead:显示了每秒线性预读跟随机预读的次数 备注:InnoDB 提供了两种预读的方式,一种是 Linear read ahead,由参数innodb_read_ahead_threshold控制,当你连续读取一个 extent 的 threshold 个 page 的时候,会触发下一个 extent 64个page的预读。另外一种是Random read-ahead,由参数innodb_random_read_ahead控制,当你连续读取设定的数量的page后,会触发读取这个extent的剩余page。InnoDB 的预读功能是使用后台线程异步完成。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |