mysql sum 和 count_mysql数据库监控指标之执行性能总结

概述

如果你的数据库运行缓慢,或者出于某种原因无法响应查询,技术栈中每个依赖数据库的组件都会遭受性能问题。为了保证数据库的平稳运行,你可以主动监控与性能及资源利用率相关的指标--查询执行性能。


查询性能

MySQL 用户监控查询延迟的方式有很多,既可以通过 MySQL 内置的指标,也可以通过查询性能模式。从 MySQL 5.6.6 版本开始默认启用,MySQL 的 performance_schema 数据库中的表格存储着服务器事件与查询执行的低水平统计数据。

b9260818ef05f39b15ecd0a1bfdbd9b1.png

1、performance_schema

性能模式的 events_statements_summary_by_digest 表格中保存着许多关键指标,抓取了与每条标准化语句有关的延迟、错误和查询量信息。

从该表截取的一行样例显示,某条语句被执行了18次,平均执行用时为 2.5 毫秒(所有计时器的测量值都以微微秒为单位)

ef03e94d939808527480d3a3820e2968.png

按按模式计算以微秒为单位的平均运行时间:

SELECT schema_name , SUM(count_star) count  , ROUND( (SUM(sum_timer_wait) / SUM(count_star))  / 1000000) AS avg_microsec FROM performance_schema.events_statements_summary_by_digest  WHERE schema_name IS NOT NULL  GROUP BY schema_name;
c66180c59c9ee2fb3c62565c5a432d96.png

按模式计算出现错误的语句总数:

SELECT schema_name , SUM(sum_errors) err_count FROM performance_schema.events_statements_summary_by_digest  WHERE schema_name IS NOT NULL  GROUP BY schema_name;
ce005ea8e85874d1556f7bedaeae89c3.png

2、sys模式

对于特别查询或调查,使用 MySQL 的 sys 模式通常更为简单。sys 模式以人们更易读的格式提供了一个有条理的指标集合,使得对应的查询更加简单。

2.1、查找最慢的语句(运行时间在 95 名开外):

SELECT * FROM sys.statements_with_runtimes_in_95th_percentile;
71bcd11fb011e5dcd72012e10637236e.png

2.2、查看哪些标准化语句出现了错误:

SELECT * FROM sys.statements_with_errors_or_warnings;
60d39c71384dcdc84feabb580c44b36c.png

3、慢查询

除了性能模式与 sys 模式中丰富的性能数据,MySQL 还提供了一个 Slow_queries 计数器,每当查询的执行时间超过 long_query_time 参数指定的值之后,该计数器就会增加。默认情况下,该临界值设置为 10 秒。

SHOW VARIABLES LIKE 'long_query_time';
54ef876c5d9a244022c5f613ee1b8084.png

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

64dafa5e1d0cc1c07bd6e5d8f2a2c6c5.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值