一、导致MySQL慢可能的因素有

1、计算资源不足

2、系统层面未进行基本的优化,或不同进程间资源抢占

3、MySQL配置不科学(附神器:

http://imysql.com/my-cnf-wizard.html)

4、垃圾SQL满天飞

二、查看系统层面负载手段

1、top查看整体负载情况,快速确认哪个进程系负载高

2、free查看内存情况,是否有内存泄露和用了swap等风险

3、vmstat/sar查看当前系统瓶颈到底在哪,如CPU、IO、网络等

4、终极神器perf top查看cpu消耗在哪些系统调用函数

三、查看MySQL的整体情况

1、观察show processlist输出中是否有临时表、排序、大量逻辑读、锁等待等状态

2、观察show engine innodb status输出中是否有大事务、长事务、锁等待等状态

四、干掉垃圾SQL,常用手段

1、用explain、desc观察执行计划

2、用profiling定位sql执行的瓶颈

3、用pt-query-digest分析慢sql

五、几个窍门

1、mysqld进程消耗CPU长时间超过90%的话,99.9%是因为没用好索引

2、cpu的%sys高的话,大概率是swap或中断不均衡导致,也可能是有多个索引且超高并发写入(更新),或者有很严重的锁等待事件

3、最⼤的瓶颈通常是在磁盘I/O上,因此尽量用高速磁盘设备

4、如果物理磁盘无法再升级,则通过增加内存提升性能容量

5、遇到无法诊断的问题时,试试⽤perf top来观测跟踪

6、SQL执行慢,有时未必是效率低,也可能是因为锁等待,甚⾄是磁盘满了

mysql 查看锁_MySQL反应慢的排查思路相关推荐

  1. Oracle/Mysql查看锁表与解锁表

    Oracle/Mysql查看锁表与解锁表 在ORCLA与MYSQL中,如何查看锁表与解锁表 1 Oracle 查看锁表进程SQL: select * from v$session t1, v$lock ...

  2. mysql 查看锁表日志_MYSQL 表锁情况查看

    查看锁表情况 mysql> show status like 'Table%'; +----------+--–+ | Variable_name | Value | +----------+- ...

  3. mysql a锁_MYSQL中的锁

    前言 刚开始接触MYSQL,对其锁机制并不了解,在项目里面,针对死锁以及锁竞争,约定了两条规则. 对涉及多个业务表的更新,要遵守一定的顺序,如按照TABLE-A,TABLE-B,TABLE-C的次序 ...

  4. mysql mdl 锁_MySQL源码学习:MDL字典锁

    什么是MDL MDL,Meta Data lock,元数据锁,一般称为字典锁.字典锁与数据锁相对应.字典锁是为了保护数据对象被改变,一般是一些DDL会对字典对象改变,如两个TX,TX1先查询表,然后T ...

  5. mysql查看锁表与解锁

    查看锁表语句  show OPEN TABLES where In_use > 0; 找到锁表的进程  show processlist;  删除锁表进程  kill 51045123; 转载于 ...

  6. mysql 全局锁_Mysql全局锁和表级锁

    以前对Mysql的锁的认识,只了解表锁和行锁,其实Mysql的锁的种类还是不少的,有全局锁,表级锁,行级锁,还有元数据锁,间隙锁,临界锁. 一 全局锁 Mysql的全局锁是对整个实例加锁,加锁之后,数 ...

  7. mysql mdl锁_MySQL锁系列3 MDL锁

    MySQL为了保护数据字典元数据,使用了metadata lock,即MDL锁,保证在并发的情况下,结构变更的一致性. MDL锁的加锁模式和源码上的组织上和上一篇blog中MySQL表锁的实现方式一致 ...

  8. mysql查看备份文件_MySQL的备份与还原以及常用数据库查看命令

    MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serv ...

  9. mysql mdl 锁_MySQL锁系列3 MDL锁

    MySQL为了保护数据字典元数据,使用了metadata lock,即MDL锁,保证在并发的情况下,结构变更的一致性. MDL锁的加锁模式和源码上的组织上和上一篇blog中MySQL表锁的实现方式一致 ...

最新文章

  1. iOS:转载:IOS谓词--NSPredicate
  2. 真正的问题应该在我身上……
  3. java无锁消费者框架_无锁并行框架多生产者多消费者模型
  4. 6410的系统时钟设置(中)---相关寄存器介绍
  5. 动态修改路由_tutorial第二部分-路由参数
  6. ExtJs异步ajax调用和同步ajax调用公用方法(转)
  7. mac搭建c语言开发环境
  8. oracle自我评价简历,程序员简历自我评价
  9. android 模拟器声音设置,android模拟器用mediaplayer播放没有声音
  10. Qt Creator实现动画效果(单个动画)
  11. python异常大总结
  12. 2021邵阳市区三中高考成绩查询,2021年邵阳市普通高考科目及各科分数
  13. Linux实现ppp拨号4G模块联网全球APN之中国(China)
  14. Ubuntu_ROS 学习
  15. java 循环new对象_java中new一个对象放在循环体里面与外面的区别
  16. Mini LED,显示技术的春天?!
  17. 维修工程师,比你想象的要赚钱
  18. 报错解决Error parsing Mapper XML
  19. java script基础入门·2
  20. 计算机设备管理器怎么删鼠标,在电脑的设备管理器中怎么查看鼠标设备

热门文章

  1. 通电就可以工作,这些单片机真香!
  2. 女朋友心血来潮帮我清洗电脑
  3. 电路常识性概念(6)-VCC、VDD和VSS三种标号的区别
  4. java护眼色是什么数据,护眼色的RGB值和颜色代码汇总
  5. 北邮 复习 软件工程_软件工程期末复习北邮
  6. 美登杯”上海市高校大学生程序设计邀请赛 Problem E 、 小 花梨 的数组 (线段树)...
  7. FreeSWITCH 总体架构
  8. hadoop的运行机制
  9. 性能优化之MySQL调优篇
  10. 牛客网编程练习之编程马拉松:解读密码