• 平台项目~ 数据库问题分析模块


    数据库问题排查模块
    一 简介 在平台如何实现针对数据库的问题排查
    二 页面设计
       1 第一块内容
         设计
         通过 processlist返回前端
        1 过滤了sleep线程和slave dump线程
        2 按照time时间倒序进行排序
        3 增加了lock关键字过滤
        分析
        1 通过 time时间定位最耗时的慢sql
        2 通过关键字查看是否有MDL锁导致后续请求的阻塞
    2 第二块内容
       设计
       通过 processlist针对数据库DB进行归类统计
      分析
      1 可能存在这样的情况,不同的业务不同的库都存在一个实例下,这样根据不同DB的连接统计定位业务
    3 第三块内容
      设计
      通过processlist针对数据库总访问数进行归类统计
      分析
      通过非sleep进程的统计与最大链接数的对比来定位是否是sleep线程导致的连接数耗尽
    4 第四块内容
      设计
      通过 innodb_trx表针对锁持有事务进行统计
      分析
      1 正在执行的事务,持有的锁,可能导致其他事务的等待,锁设计的不合理
      2 长时间未提交的事务,可能导致其他事务的等待

    三 总结

       1 平台的问题是当连接不上数据库的时候是无法进行分析,这是一点不足(可能出现连接数耗尽的情况)

       2 只能捕捉瞬时,不能对之前的问题进行分析,以后会着手解决

          

  • 相关阅读:
    mongoid和date_select的交道 小青年
    content_for对应的yield 小青年
    sunspot solr 小青年
    rails中validates及各种方法 小青年
    Rake: wrong number of arguments (3 for 2) 小青年
    nginx + nginxgridfs 安装方法 小青年
    gem install mysql2的时候出现的错误 小青年
    Rails Date Formats strftime 小青年
    redis 安装 小青年
    Uninstall all ruby gems 小青年
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/11250514.html
Copyright © 2020-2023  润新知