怎样用Mysql show processlist 排查问题

技术怎样用Mysql show processlist 排查问题怎样用Mysql show processlist 排查问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可

很多新手不太清楚如何使用Mysql show processlist解决问题。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。有这种需求的人可以学习,希望你能有所收获。

Mysql显示完整进程列表查看当前线程处理。

从00: 00到1010,每次执行过程中看到的结果应该会发生变化。因为是实时的,所以我把它定义为“事件现场”,每次执行相当于现场的一个快照。

通常,show processlist或show full processlist用于检查mysql是否有压力,正在运行哪些语句,当前语句花费了多长时间,以及是否有任何缓慢的sql正在执行。

可以看到链接总数和哪些线程有问题(时间是执行秒的数量,所以要多关注那些时间长的),然后就可以干掉有问题的线程,可以暂时解决一些意想不到的问题。

有时快照可能不会显示任何问题,因此您可以经常刷新它。

事发现场

show full processlist可以看到所有的链接,但是大部分链接的状态实际上是Sleep,而这类链接实际上是空闲的,几乎没有什么查看价值。

我们想要观察的是有问题的,所以我们可以过滤它:

-查询非休眠状态的链接,根据消耗的时间倒序显示,自行筛选选择id、db、用户、主机、命令、时间、状态、infofrom information _ schema . processlistwencommand!=“睡眠”顺序

这样,我们可以过滤出哪些正在工作,然后根据消耗的时间以倒叙的方式显示出来。顶部的链接可能是一个有问题的链接。然后,通过查看info列,我们可以看到具体执行了哪些SQL语句。用于分析怎样用Mysql  show  processlist  排查问题

显示列说明:

id-thread身份证,可以是:杀人身份证;杀死一个线程非常有用。

db-Database

user-user.

host-the图书馆的主机知识产权。

command-currently执行命令,例如最常见的命令:睡眠、查询、连接等。

time-Time-consuming,每秒,非常有用。

state-Execution状态,如发送数据、分组排序、创建tmp表、锁定等。很有用。其他状态请参考本文末尾的参考文章。

info-SQL语句的执行,非常有用。

问题排查

上面提到的线程ID可以通过kill杀死;所以基本上上面有问题的执行语句都可以找出来,然后就可以杀了,要不要一个一个的杀?

-查询执行时间超过2分钟的线程,然后将它们拼接成kill语句selectconcat('kill ',id ','。)from information _ schema . processlisthwhere command!=“睡眠”和时间2*60orderbytimedesc

下一步就不需要讲了,只要运行一次拼接杀的执行结果,就搞定了。

有时候这个很好用。谁知道是谁用的?

kill 使用

有些问题会引发连锁反应,定位不准。有时它们被认为是缓慢的查询。很可能大部分时间都在等待CPU和内存资源的释放,所以有时候同一个查询消耗的时间差异很大。

总结了一些常见的问题:

CPU报警:很可能在SQL中有更多的计算。

连接数超高:很有可能存在速度较慢的查询,然后会有许多查询排队。排除问题时,可以看到大量类似“事件场景”的SQL语句。那么可能没有索引或者索引不好用。可以用:说明看完以上内容对你分析SQL语句是否有帮助。如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/46790.html

(0)

相关推荐

  • Oracle R12如何安装日志和其他日志

    技术Oracle R12如何安装log及其他log小编给大家分享一下Oracle R12如何安装log及其他log,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们

    攻略 2021年12月16日
  • 黄老,道家学说为何又叫黄老学说

    技术黄老,道家学说为何又叫黄老学说黄老道是道教史前道派黄老。是方仙思想与黄老之学的结合。黄老道起名于古代学术上一个主要流派——黄老学,“黄”指黄帝,代表古代“神仙家”和“阴阳家”的思想,“老”指老子,代表道家的思想。“黄

    生活 2021年10月21日
  • mysql如何使用foreign key

    技术mysql如何使用foreign key这篇文章将为大家详细讲解有关mysql如何使用foreign key,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

    攻略 2021年10月27日
  • sqlserver中的int型转为decimal(sqlservercast语法)

    技术怎么浅析SQLServer中的Scanf与Printf怎么浅析SQLServer中的Scanf与Printf,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题

    攻略 2021年12月20日
  • 如何用jquery删除html标签

    技术如何用jquery删除html标签本篇内容介绍了“如何用jquery删除html标签”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,

    攻略 2021年11月1日
  • SQL-Hive中Select From怎么用

    技术SQL-Hive中Select From怎么用这篇文章主要介绍了SQL-Hive中Select From怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解

    攻略 2021年12月10日