mysql 案例 ~ 从另一角度定位解决线上故障

一  简介 从另一种角度排查问题

二 目的 更快更好的定位并且解决问题
 三 研发角度的操作
   1 场景描述:历史数据的不断增多,访问量不断的上升,负载也在不断的上升,这个根据监控图的历史趋势图能够发现随着时间不断的增长而增长   
      解决方式:分库分表或者升级服务器配置
      对象:程序主动触发
   2 场景描述:数据和访问量很稳定,负责突然上升一段时间,处理完又迅速下降.每天准时出现.这基本是由于定时task导致的
      解决方式: 针对task任务调整降低执行频率,优化慢sql语句
      对象:程序主动触发
    3 场景描述:数据和访问量很稳定,负载突然上升一段时间,处理完又迅速下降,出现时间不固定,这是由于研发主动触发task任务导致的
      解决方式: 针对task任务调整
      对象: 研发主动触发

   4 场景描述: DBA执行某些特殊sql导致的负载飙升,常见于大表的DDL草

       解决方式:低峰执行

       对象: DBA进行触发
 四 sql语句的角度
     1 大概有十分之四的负载问题都是由于查询慢日志语句引起的,通过show processlist和slow.log文件也能迅速捕捉到
     2 大概有十分之四的负载问题是由瞬时大量的查询/事务并发线程访问引起的,通过show processlist和研发沟通能迅速捕捉到
     3 最后还有其他原因: 1 锁等待 2 大事务 3 删除大表等操作引起
五  DBA的角度
     1 形成DB-负责人制度,当对应DB发生时,能第一时间根据应用IP-sql语句和研发沟通,了解情况
      2 定时集中优化慢语句,能减少线上负载问题的发生

原文地址:https://www.cnblogs.com/danhuangpai/p/11557700.html