使用Anemometer基于pt-query-digest将MySQL慢查询可视化帮助文档

该系统使用pt-query-digest搜集慢查询日志,目前策略是每10分钟搜集分析一次。将数据存储在两张表中:global_query_review 和 global_query_review_history。
该系统使用anemometer将pt-query-digest 搜集的数据以web形式展现出来,方便查询分析。

表结构

1、global_query_review 表结构:


使用Anemometer基于pt-query-digest将MySQL慢查询可视化帮助文档_第1张图片
global_query_review 表结构

主要字段说明:

  • checksum : 主键, 是按fingerprint算出来的hash值
  • finger : 是每条sql语句的指纹,去掉了一些变化的值(同一类型的sql语句,条件值不一样在该表中只会存在一条记录)
  • sample: 符合finger的一条sql示例

2、global_query_review_history表结构(由于表字段较多,后面省略了几十个统计字段,同Query_time_*字段)


使用Anemometer基于pt-query-digest将MySQL慢查询可视化帮助文档_第2张图片
global_query_review_history表结构

主要字段说明:

  • hostname_max : MySQL服务所在主机名称
  • db_max: 数据库名称
  • checksum : 同global_query_review表中的checksum,两张表通过该值关联
  • sample : sql示例
  • ts_min : 本次统计(每10分钟一次)该类型sql语句出现的最小时间
  • ts_max: 本次统计(每10分钟一次)该类型sql语句出现的最大时间
  • ts_cnt : 本次统计该sql语句出现的次数
  • Query_time_sum : 本次统计该类型sql语句花费的总时间
  • Query_time_min : 本次统计该类型sql语句执行最快的那个sql语句花费的时间
  • Query_time_max: 本次统计该类型sql语句执行最慢的那个sql语句花费的时间
  • Query_time_pct_95: 本次统计该类型sql语句执行时间位于95%分位的sql执行时间
  • Query_time_stddev: 本次统计该类型sql语句执行时间标准差(统计学概念)
  • Query_time_median: 本次统计该类型sql语句执行时间位于中位数位置的sql执行时间
  • index_ratio:表示的是扫描的行数/返回的结果行数

Anemometer系统

1、主页面说明如下


使用Anemometer基于pt-query-digest将MySQL慢查询可视化帮助文档_第3张图片
详细说明

2、点击特定checksum值进入的页面如下:


使用Anemometer基于pt-query-digest将MySQL慢查询可视化帮助文档_第4张图片
checksum的页面

下面图形是该页面的中间部分:


使用Anemometer基于pt-query-digest将MySQL慢查询可视化帮助文档_第5张图片
checksum的页面

[图片上传中。。。(6)]

你可能感兴趣的:(使用Anemometer基于pt-query-digest将MySQL慢查询可视化帮助文档)