微课程 | 第十八课《慢查询日志》
今天是微课程《DBLE 快速上手》的最后一课:慢查询日志。
我们 DBLE 的慢查询日志兼容这两个工具:
- MySQL 的 mysqldumpslow
- Percona 的 pt-query-digest
我们来看一下慢日志的简单演示:
微课程 | 第十八课《慢查询日志》
我们通过管理端查看慢查询日志功能是否开启,没有开启。我们通过 enable 语句将慢查询日志开启。开启后我们要设置一个阈值,这个属性的意思是超过多长时间才算慢查询,默认是 100 毫秒。我们把它先设置成 1 毫秒,值非常小,便于我们收集一下慢查询信息。然后我们来到 DBLE 的流量端口,随便做几次查询,生成一些慢查询日志。这里已经可以看到有一个大概 40 毫秒的查询结果。其它的几个查询因为经常用,所以结果会快一些。我们去看目录结构下面会多了一个叫 slowlogs 的文件夹。然后我们去 slowlogs 文件夹,看这个慢日志会按照大小和时间做一个 rotate(轮替)。我们做了一个兼容 MySQL 慢日志格式,上面是伪造的一些标准头,下面是我一些真正的执行时间。如果大家对慢日志非常熟悉的话,会发现增加了非常多的列,这些列相当于我刚才 trace 出来的结果。**注意:**慢日志在实际运行环境中出现慢查询后收集,而 trace 是在预分析的时候使用。虽然展示出来慢的阶段都一样,但实际上使用场景是不一样的。我们通过 MySQL 的 dumpslow 工具查看。因为单位比较大,它是按秒为单位。可以看到好多的数据,可以看到刚才的 40 毫秒的查询,排在第一位。后面有毫秒的工具生成了一个慢日志的结果。Percona 那个工具生成的结果就非常丰富了。大家熟悉慢日志分析的可以拿来分析。关于慢日志工具的使用,可以读 MySQL 的文档,我们和官方是完全兼容的。以上就是,慢日志的功能演示。
欢迎加入 DBLE QQ 群,群内学习资料丰富,活跃度高。有 DBLE 开发和售后人员在群里及时为大家解答问题。
结束语
自微课程《DBLE 快速上手》发刊以来,已有两个多月。截止到今天,十八节课程视频和图文稿已全部发布完毕。目前社区已经发布了两套 DBLE 学习课程:《DBLE 公开课》《微课程 | DBLE 快速上手》。非常感谢社区的朋友们对本套课程的关注与支持。2020 年,爱可生开源社区将会推出更多更优质的内容,继续提高课程的设计和制作水平。再次感谢!
图文稿为了方便阅读,在不影响学习的情况下优化了一些口语化词汇,文稿与视频会尽量保持一致。