MySQL性能突发事件问题排查技巧
⑥. 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 的预读功能是使用后台线程异步完成。 ⑨. ROW OPERATIONS 0 queries inside InnoDB, 0 queries in queue:显示了有多少线程在Innodb内核 read views open inside InnoDB:显示了有多少read view被打开了,一个read view是一致性保证的MVCC “snapshot” 备注:innodb多版本并发(MVCC)通过read view来确定一致性读时的数据库snapshot, innodb的read view确定一条记录能否看到, 在RC隔离级别下,是每个SELECT都会获取最新的read view; 在RR隔离级别下,则是当事务中的第一个SELECT请求才创建read view 7. SHOW STATUS LIKE 'innodb_row_lock_%'; — 锁性能状态 查看当前锁性能状态 解释如下: Innodb_row_lock_current_waits:当前等待锁的数量 Innodb_row_lock_time:系统启动到现在、锁定的总时间长度 Innodb_row_lock_time_avg:每次平均锁定的时间 Innodb_row_lock_time_max:最长一次锁定时间 Innodb_row_lock_waits:系统启动到现在、总共锁定次数 8. SQL语句EXPLAIN; — 查询优化器 EXPLAIN执行计划部分,略过(后续专题分享) 作为一个DBA,问题排查技巧是每个工程师都需要掌握的核心技能。 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |