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. Linux kernel启动选项(参数)

    在Linux中,给kernel传递参数以控制其行为总共有三种方法: 1.build kernel之时的各个configuration选项. 2.当kernel启动之时,可以参数在kernel被GRUB ...

  2. GCC 编译流程简介

    GCC-GCC编译流程 序言 对于大多数程序员而言,大家都知道gcc是什么,但是如果不接触到linux平台下的开发,鲜有人真正了解gcc的编译流程,因为windows+IDE的开发模式简直是一条龙全套 ...

  3. JavaScript 进阶问题列表

    https://github.com/lydiahallie/javascript-questions/blob/master/zh-CN/README-zh_CN.md 很考基本功

  4. CH6803 导弹防御塔

    6803 导弹防御塔 0x60「图论」例题 背景 Freda的城堡-- "Freda,城堡外发现了一些入侵者!" "喵...刚刚探究完了城堡建设的方案数,我要歇一会儿嘛l ...

  5. Python函数的基本使用

    在编程中,无论使用什么 编程语言,函数的使用都是非常广泛的,函数能够完成特定的功能,降低编程的难度和代码重用. 1.函数的定义: 函数是一段具有特定功能的.可重用的语句组,用函数名来表示并通过函数名进 ...

  6. babyheap_fastbin_attack

    babyheap_fastbin_attack 首先检查程序保护 保护全开.是一个选单系统 分析程序 void new() { int index; // [rsp+0h] [rbp-10h] sig ...

  7. 语法速学,返回数组 repeated修饰符

    重新编写proto文件 syntax = "proto3"; package services; import "google/api/annotations.proto ...

  8. ElementUI入门和NodeJS环境搭建

    1. ElementUI简介 我们学习VUE,知道它的核心思想式组件和数据驱动,但是每一个组件都需要自己编写模板,样式,添加事件,数据等是非常麻烦的,   所以饿了吗推出了基于VUE2.0的组件库,它 ...

  9. 安装node.js 和 npm 的完整步骤

    vue 生命周期 1,beforeCreate 组件刚刚被创建 2,created 组件创建完成 3,beforeMount 挂载之前 4,mounted 挂载之后 5,beforeDestory 组 ...

  10. Kubernetes 学习3 kubeadm初始化k8s集群

    一.k8s集群 1.k8s整体架构图 2.k8s网络架构图 二.基于kubeadm安装k8s步骤 1.master,nodes:安装kubelet,kubeadm,docker 2.master: k ...