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

MySQL太慢?试试这些诊断思路和工具

发布时间:2018-09-12 04:33:54 所属栏目:编程 来源:黄炎
导读:9月15日技能沙龙 | 与东华软件、AWS、京东金融、饿了么四位大咖切磋精准运维! MySQL 慢怎么办 假如碰着 MySQL 慢的话,你的第一印象是什么,MySQL 数据库假如机能不可,你是如那里理赏罚的? 我咨询了一些偕行, 获得了以下反馈: 第一回响是再试一次 第二个反

这段措施的逻辑是这样的:

  • 在 query 开始的时辰截获一下,让它记录一个时刻戳;
  • 哀求竣事的时辰再截获一下记录一个时刻戳;
  • 把两个时刻戳相减得到一个耽误;
  • 把这个耽误扔到功效集里边去,措施就完成了。

我用竣事时刻减开始时刻,减一下获得一个耽误,然后把耽误扔到一个统计容器内里,这个事就竣事了。这是我要写的第一个措施,是嵌到内核里的措施,可是必要一个外壳的措施认真嵌入。

这个外壳措施的逻辑也很是简朴,把适才那段内核的措施嵌到 MySQL 的视察点上,嵌到内核内里去,然后把功效集拿出来,打印出来就竣事了,这是怎样写一个 eBPF 的剧本,各人独一必要做的工作就是这两个措施,然后运行一下。

MySQL太慢?试试这些诊断思绪和器材

这个措施的焦点只有 45 行,中间忽略了认真过错处理赏罚的一部门。只必要把此刻的剧本拿下来抄一抄,改一改就可以完成许多的成果了。

这么好的要领为什么许多人不知道呢?

  • 操纵体系内核的限定,这个成果是 Linux 4.4 引进来的,可是在 Linux 4.4 上存在统计的 bug,我们保举的是 Linux 4.9+,部门好用的成果是在 4.13+ 上才开放,这个是 eBPF 最大的限定。怎么办呢?只能祝各人长命吧!活到 Linux 4.x 内核能在出产情形上行使的那一天。
  • 它的第二个最大的限定是 MySQL 的编译参数,MySQL 固然在很早的时辰已经提供了 dtrace 的视察点,这些视察点是公用的,可是它在默认的编译出来的官方宣布的包里边是不带视察点编译的,以是在直接官方宣布的二进制的包里边是用不了这个成果的,各人必要本身编译一下。编译的时辰必要带这个参数,这个也许也是属于一个较量大的限定。

以是假如各人受到限定,再保举换一个器材:systemtap。

Linux 2.6 就已经有了,可是它的机制是写一个内核模块,这种机制着实不是出格不变,它为了办理不是出格不变的题目增进了多少限定,好比说能在内核中行使的内存巨细有限定,收罗频率也有限定,对整个内核机能的影响百分比也有限定,在这些限定参数都开起来的环境下,它照旧较量安详的。

可是许多视察成果就必必要把这些限定关掉,一旦关掉内核就不是很不变,以是这个器材,我没有敢把它的弱点写在上面由于确实是个好的器材,我们也很难说它的这个弱点是个致命的缺陷,可是不太保举在出产情形上行使,可是在测试情形上确实长短常好玩的一个器材,假如各人用不了 eBPF 的话可以用 systemtap 来做一些诊断。

尚有许多其他的器材:

MySQL太慢?试试这些诊断思绪和器材

至于怎样选择,各人直接谷歌一下有专门的文章教各人怎么选择这些视察器材。可是总的来说没有一个科学的思绪,只有实行,不断的实行。

黄炎,爱可生研发总监,深入钻研漫衍式数据库相干技能,善于业界相干 MySQL 中间件产物和开拓,以及漫衍式中间件在企业内部的应用实践。

【编辑保举】

  1. Innodb中MySQL怎样快速删除2T的大表
  2. 为什么你的MySQL机能差?死代码连累题目办理了吗?
  3. 连跳7个版本之后,MySQL 8.0.12有什么新特征?
  4. MariaDB和MySQL全面比拟:选择数据库必要思量这几点
  5. 带你深入相识MySQL的索引
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

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

热点阅读