在MySQL中仅用慢日志文件,如何快速获取分时报告?

0    58    1

👉 本文共约1072个字,系统预计阅读时间或需5分钟。

问题:

仅用慢日志文件,如何快速获取分时报告?

如果有监控系统,获取分时报告(每小时慢查询的条数报告)不难,如果只有慢日志文件,就会有点费劲。

实验:

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

通过 pt-query-digest --timeline 功能,可以输出带时间戳的慢查询条目

图片

用 sed 将 timeline 报告滤出

图片

安装 termsql,地址:https://github.com/tobimensch/termsql

图片

也可以这样安装:

使用 termsql,将报告导入,并使用 SQL 查询一条记录,以展示 termsql 的效果

图片

可以看到 termsql 将 timeline 报告的每一行,整理成了一条数据,放在 SQLite 中。

下面就可以尽情使用 SQL 获取分时报告:

图片

用一个复杂一点慢日志,获得如下结果:

图片

可以轻松定位到慢查询的热点时段,也便于发现业务的周期性规律。

termsql 是一个很方便的小工具:

  1. 可以用于将文本导出到 SQLite 中,方便 SQL 查询。

  2. 它与 ps 或者 top 合用也有惊喜,比如找出 CPU 占用率高于 25% 的进程:

图片

参考

https://mp.weixin.qq.com/mp/homepage?__biz=MzU2NzgwMTg0MA==&hid=9&sn=616ddd6a2417f34f6d836a2c2d567f12&scene=1&devicetype=android-29&version=28001c57&lang=zh_CN&nettype=cmnet&ascene=7&session_us=gh_0dc4cf247b24&wx_header=3

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

3 − 3 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部