23丨MySQL:数据库级监控及常用计数器解析(下)
高楼
该思维导图由 AI 生成,仅供参考
上一篇文章中,我们讲了有关数据库的全局分析,那么在今天的文章中,我们继续看看在数据库中,如何做定向分析。
还记得我在上篇文章中提到的工具吗?mysqlreport、pt-query-digest 和 mysql_exportor+Prometheus+Grafana。我们在上一篇中已经讲完了 mysqlreport,今天我们来看看剩下的这几个。
定向抓取 SQL:pt-query-digest
pt-query-digest是个挺好的工具,它可以分析slow log、general log、binary log,还能分析 tcpdump 抓取的 MySQL 协议数据,可见这个工具有多强大。pt-query-digest属于 Percona-tool 工具集,这个 Percona 公司还出了好几个特别好使的监控 MySQL 的工具。
pt-query-digest分析 slow log 时产生的报告逻辑非常清晰,并且数据也比较完整。执行命令后就会生成一个报告。
我来稍微解释一下这个报告。我们先看这个报告的第一个部分:
从上表中可以看得出来,在这个慢日志中,总执行时间达到了 118079s,平均执行时间为 562ms,最长执行时间为 9s,标准方差为 612ms。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了MySQL数据库性能分析工具和技术,重点关注了pt-query-digest和profiling的使用。pt-query-digest作为一个强大的工具,能够分析MySQL的日志数据,提供清晰的报告和负载分析,帮助用户快速定位慢查询。文章还强调了对于实时业务,SQL执行的平均时间应控制在100ms以内,并介绍了如何通过执行计划和profiling进行SQL的详细分析和优化。通过具体的操作步骤和示例,展示了如何使用profiling工具进行SQL语句的性能分析和优化,以及如何通过创建索引来改善查询性能。此外,文章还提到了全局监控-定向监控的分析思路,以及MySQL分析决策树的思路。对于需要优化数据库性能的读者来说,本文内容丰富,涵盖了数据库性能分析的多个方面,具有很高的参考价值。同时,文章还提到了mysql_exportor+Prometheus+Grafana的组合,为读者提供了更多全局监控工具的选择。总的来说,本文为读者提供了实用的指导,帮助他们更好地理解和应用这些工具和技术于实际工作中。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《性能测试实战 30 讲》,新⼈⾸单¥59
《性能测试实战 30 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(18)
- 最新
- 精选
- 张红占干货太多了,课程价格严重低估了!
作者回复: 多谢支持,后面要不我写点湿的。😄
2020-02-1413 - Geek_f93234数据库分析的大体思路是什么吗? 全局分析--定向分析 1.全局分析:分析数据库硬件配置,数据库配置,SQL语句,采用全局监控工具如mysqlreport工具收集到的测试数据,分析可能存在的问题; 2.定向分析:如:针慢查询导致的性能问题,采用pt-query-digest工具分析慢查询日志抓取存在问题的sql,利用profiling分析sql语句的每一个层级,查看sql执行计划,对sql进行优化。 如何在数据库中迅速找到一个慢 SQL 的根本原因呢? profiling分析sql语句的每一个层级,结合sql语句执行计划分析慢sql根本原因
作者回复: 抓住重点了。
2020-02-1410 - 凯耐数据库慢SQL分析基本思路: 1.配置慢sql条件,将满足条件的sql写入慢查询日志 2.通过explain工具解析sql,判断是否加了索引或索引是否失效 3.如果没有索引,在数据表添加合适的索引,再执行sql,看执行时间。 4.添加索引sql执行时间没有优化那就从sql编写逻辑过于复杂导致查询过慢 5.当然硬件配置,数据库配置都会影响数据库sql的执行时间
作者回复: 还有第0条,就是查看全局监控数据,像mysqlreport这样的数据。
2021-03-123 - 村夫老师,网上都建议Mysql要关闭query cache,我看您的示例是开启呢,所以执行同一个sql会读缓存。如果关闭了,偷懒的办法是没有用的吧
作者回复: 查询的话有效果。看应用。
2020-03-222 - 程科长问题一: 先全局,在定向分析 问题二: profiling,它可以把 SQL 执行的每一个步骤详细列出来,从一个 SQL 进入到数据库中,到执行完这整个生命周期。 MySQL 的profiling在session级生效,所以当你用了慢日志,知道哪个 SQL 有问题之后,再用这个功能是最见成效的。
作者回复: 看起来是理解了。
2022-04-241 - 月亮和六便士看完昨天和今天的专栏,我有个想法,不管三七二十一,一上来先把慢日志拎出来,分析,然后执行计划,三板斧耍完了,然后在开始工作......
作者回复: 学到精髓了。😀😀
2020-03-121 - OM数据库方面的性能诊断涉及操作系统层,网络层,存储层,应用层,通常将关联数据库的其他层通过诊断分析确定是否与数据库有关系,缩小诊断范围和找到性能问题症结。
作者回复: 对。
2023-08-02归属地:浙江 - Geek_33192c初学者得从哪里学起
作者回复: 这个专栏还不够初级吗?
2023-03-27归属地:广东 - 学习学个屁mac 如何安装 pt-query-digest 总是安装不成功
作者回复: 好像我没在mac下安装过哦。
2021-09-25 - 学习学个屁这些工具有搭建教程吗老师
作者回复: 等我以后写一个专门讲工具的专栏吧。😊
2021-09-25
收起评论