OLTP系统的问题很难排查和定位,这就是为什么要花那么多钱去请DBA

因为TP系统的请求很多都是毫秒级别,而且同时有大量的并发,所以由于资源,或随机的原因导致的问题,很难去定位根因

哪怕数据库系统尤其是商业数据库系统,已经采集了上千维的对系统和数据库的监控指标,但是仍然很难提高有效的root cause工具,帮助到DBA

DBSherlock就是为了帮助DBA进行异常发现和根因诊断所设计的performance explanation framework。

用户在UI上选取一个异常,DBSherlock就会试图从两个方面给出可能的causes,

Concise predicates describing the combination of system configurations or workload characteristics causing the performance anomaly

High-level diagnoses based on the existing causal models in the system

架构

数据的采集和预处理主要由DBSeer来完成,

采集主要包含如下几部分数据,

1. OS资源消耗

Resource consumption statistics from the OS (in our case, Linux’s/proc data), e.g., per-core CPU usage, number of disk I/Os, number of network packets, number of page faults, number of allocated/free pages, and number of context switches

2. DBMS的负载统计

Workload statistics from the DBMS (in our case, MySQL’s global status variables), e.g., number of logical reads, number of SELECT, UPDATE, DELETE, and INSERT commands executed, number of flushed and dirty pages, and the total lock wait-time.

3. 查询明细,包含时间,耗时,具体的SQL,使用的查询计划

Timestamped query logs, containing start-time, duration, and the SQL statements executed by the system, as well as the query plans used for each query

4. OS和DBMS的配置参数,环境变量,kernel的参数,数据库server的参数,网络配置,相关驱动

Configuration parameters from the OS and the DBMS, e.g., environment variables, kernel parameters, database server configurations, network settings, and (relevant) driver versions.

预处理包含,

首先基于transaction进行基于时间粒度的统计,比如每1秒,平均和分位数的延迟,count等;这些数据代表

To be continue。。。

笔记 - DBSherlock: A Performance Diagnostic Tool for Transactional Databases的更多相关文章

  1. 一篇分析诊断被"hang"住数据库的资料(Oracle Performance Diagnostic Guide——Hang/Locking)

    该资料已上传至本人QQ群空间,如需该资料,可到本人QQ群空间查找.下面贴表文本: Oracle Performance Diagnostic GuideHang/LockingVersion 3.1. ...

  2. Performance Analyzer Tool

    PAL工具的使用大同小异,网上看到这篇文章挺不错的,直接翻译过来.如果你在过去有Exchange性能问题,你肯定知道有很多可变因素会影响Exchange整体性能,有时需要很长的时间才能找到问题的根源, ...

  3. Lexia3 Citroen/Peugeot Diagnostic tool install instruction

    We knew that Lexia-3 is a professional Citroen and Peugeot diagnostic interface, it’s both easy-usin ...

  4. Six advantages of Nissan consult 3 diagnostic tool

    Today autonumen.com introduces Nissan consult 3. Nissan Consult 3 is a professional diagnostic tool ...

  5. Difference Among Mercedes Star Diagnostic Tool MB Star C3 C4 C5 C6

    Mercedes Star Diagnostic Tool newly update to MB Star C6.There are many star diangostic tool in the ...

  6. 002_mtr_a network diagnostic tool

    一. mtr combines the functionality of the traceroute and ping programs in a single network diagnostic ...

  7. Different between MB SD Connect Compact 5 and MB SD C4 Star Diagnostic Tool

    MB SD C4 Star Diagnostic Tool is the professional MB Star Diagnostic Tools for benz cars and trucks. ...

  8. Ford VCM II Ford VCM2 Diagnostic Tool with Ford IDS v108 Installed On Laptop Ready to Use

    HOW to VCM2 Ford VCM II with Ford IDS v108 Work Well? VCM2 Ford VCM2 Ford diagnostic tool hot sale i ...

  9. RabbitMQ Performance Testing Tool 性能测试工具

    RabbitMQ Performance Testing Tool 介绍:https://www.rabbitmq.com/java-tools.html RabbitMQ Performance T ...

随机推荐

  1. Flask之Flask_Session插件

    一,Flask_Session介绍 因为flask自带的session是将session存在cookie中: 所以才有了第三方Flask_session插件,可以将session存储在我们想存储的数据 ...

  2. SELinux 权限设置

    SELinux 权限设置 一.SELinux简介 SELinux全称是Security Enhanced Linux,由美国国家安全部(National Security Agency)领导开发的GP ...

  3. java AST JCTree简要分析

    JCTree简要分析 [toc] JCAnnotatedType 被注解的泛型:(注解的Target为ElementType.TYPE_USE时可注解泛型) public static class A ...

  4. 基于Java+Selenium的WebUI自动化测试框架(十三)-----基础页面类BasePage(Excel)

    前面,我们讲了如何使用POI进行Excel的“按需读取”.根据前面我们写的BasePageX,我们可以很轻松的写出来基于这个“按需读取”的BasePage. package webui.xUtils; ...

  5. mysql存储、function、触发器等实例

    一.创建数据库&表 DROP DATABASE IF EXISTS security; CREATE database security; USE security; CREATE TABLE ...

  6. SQL EXPLAIN优化详解

    使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是 如何处理你的SQL语句的.分析你的查询语句或是表结构的性能瓶颈.使用方式:Explain+SQL语句执行计划包含的信息: ...

  7. P1600 天天爱跑步[桶+LCA+树上差分]

    题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一一棵 ...

  8. Tensorflow细节-P186-队列与多线程

    先感受一下队列之美 import tensorflow as tf q = tf.FIFOQueue(2, "int32") # 创建一个先进先出队列 # 队列中最多可以保存两个元 ...

  9. 历史相关API

    一.history对象 ①history.back()移动到上一个访问页面,等同于浏览器的后退键. ②history.forward()动到下一个访问页面,等同于浏览器的前进键. ③history.g ...

  10. PHP的3种发送HTTP请求的方式

    1.CURL方式发送数据及上传文件 <?php class IndexController extends ControllerBase { public function indexActio ...