MySQL数据库监控指标之执行性能总结

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

 概述

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

[[277973]]

查询性能

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

 

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

 

1、performance_schema

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

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

 

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

 

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

 

  1. SELECT schema_name 
  2.  , SUM(count_star) count  
  3.  , ROUND( (SUM(sum_timer_wait) / SUM(count_star))  
  4.  / 1000000) AS avg_microsec FROM performance_schema.events_statements_summary_by_digest  
  5.  WHERE schema_name IS NOT NULL  
  6.  GROUP BY schema_name; 

 

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

 

 

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

 

  1. SELECT schema_name 
  2.  , SUM(sum_errors) err_count 
  3.  FROM performance_schema.events_statements_summary_by_digest  
  4.  WHERE schema_name IS NOT NULL  
  5.  GROUP BY schema_name; 

 

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

 

 

2、sys模式

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

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

 

  1. SELECT * FROM sys.statements_with_runtimes_in_95th_percentile; 

 

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

 

 

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

 

  1. SELECT * FROM sys.statements_with_errors_or_warnings; 

 

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

 

 

3、慢查询

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

 

  1. SHOW VARIABLES LIKE 'long_query_time'

 

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

 

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

责任编辑:华轩 来源: 今日头条
相关推荐

2019-09-27 08:55:14

数据库MySQL服务器

2019-09-29 15:36:01

吞吐量MySQL数据库

2019-09-25 08:37:48

MySQL数据库人生第一份工作

2014-04-09 11:43:54

Zabbix监控Mysql数据库

2019-09-29 17:40:55

缓冲池MySQL数据库

2010-06-03 17:12:30

Windows Ser

2016-12-29 12:24:33

MySQL数据库移植

2019-01-02 11:10:40

MySQL数据库数据库设计

2010-12-10 10:17:21

关系型数据库

2019-08-27 15:00:09

MySQL数据库存储

2019-07-11 08:45:00

MySQL数据库缓存

2013-09-17 10:32:08

Android性能优化数据库

2009-11-11 16:15:04

ADO.NET操纵数据

2012-03-16 15:20:43

MySQL

2010-05-31 15:12:44

MySQL数据库

2010-05-04 17:08:24

Oracle数据库

2019-10-14 09:45:49

MySQL数据库性能

2023-07-12 08:55:16

PawSQL数据库

2014-07-18 09:33:53

数据库数据库优化

2023-12-18 14:55:00

Oracle数据库监控
点赞
收藏

51CTO技术栈公众号