加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL性能突发事件问题排查技巧

发布时间:2019-02-04 19:56:45 所属栏目:MySql教程 来源:崔虎龙
导读:副标题#e# 经过多年的实际经验,整理了一些材料,已Linux环境下MySQL性能突发事件问题排查技巧分享给大家。 作为DBA在面对性能上突发问题的时候,是否出现过束手无策,无从下手的经历。 其实性能无非问题点在于存储、操作系统, 应用程序,数据库 等方面。

这部分简单的打印,输出的时间,以及自从上次输出的间隔时间。

MySQL性能突发事件问题排查技巧

②.BACKGROUND THREAD

MySQL性能突发事件问题排查技巧

MySQL性能突发事件问题排查技巧

③. SEMAPHORES 信号量

MySQL性能突发事件问题排查技巧

OS WAIT ARRAY INFO 操作系统等待数组的信息,它是一个插槽数组,innodb使用了多少次操作系统的等待

保留统计(reservation count)显示了innodb分配插槽的频度

信号计数(signal count) 衡量的是线程通过数组得到信号的频度

RW-shared spins:#这行显示读写的共享锁的计数器

RW-excl spins:#这行显示读写的排他锁的计数器

RW-sx spins:#这行显示共享排它锁计数器

*备注:5.7.2增加了一种新的读写锁类型称为SX共享排他锁

锁的拥有则可以读表中的任何数据,如果在相应的行上能够获得X锁,则可以修改该行。

MySQL性能突发事件问题排查技巧

④. TRANSACTIONS

包含Innodb 事务(transactions)的统计信息,还有当前活动的事务列表。

MySQL性能突发事件问题排查技巧

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的状态,包括一些统计信息

MySQL性能突发事件问题排查技巧

MySQL性能突发事件问题排查技巧

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

MySQL性能突发事件问题排查技巧

Ibuf:insertbuffer的一些信息,包括free list, segment size

Hash table:显示了hash table的一些信息最后一行显示了每秒进行了多少次hash搜索,以及非hash搜索

⑦. LOG

MySQL性能突发事件问题排查技巧

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

当前内存使用状态

MySQL性能突发事件问题排查技巧

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 的预读功能是使用后台线程异步完成。

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读