一 简介 从另一种角度排查问题
二 目的 更快更好的定位并且解决问题
三 研发角度的操作
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 定时集中优化慢语句,能减少线上负载问题的发生