1、查看监控,发现整点时间有写IO过高情况
 
2、iotop 分析确认io高峰是由mysql导致的

3、开启general log,分析SQL
set global general_log = on ;
 
4、观察binlog 与 general log 发现 文件增长量不大,怀疑不是有Insert 与 update 与 delete 导致的 写IO过高
 
5、show full processlist ;发现有慢SQL
*************************** 6. row ***************************
     Id: 337153
   User: user_car_bill
   Host: 192.168.3.10:63018
     db: yoolifin
Command: Query
   Time: 295
  State: Creating sort index
   Info: SELECT 1 AS `Number of Records`,
  `自定义 SQL 查询`.`实还金额` AS `实还金额`,
  `自定义 SQL 查询`.`应还客户数` AS `应还客户数`,
  `自定义 SQL 查询`.`应还金额` AS `应还金额`,
  `自定义 SQL 查询`.`累计发过代扣客户数` AS `累计发过代扣客户数`,
  `自定义 SQL 查询`.`累计客户覆盖率` AS `累计客户覆盖率`,
  `自定义 SQL 查询`.`累计还款收回率` AS `累计还款收回率`,
  `自定义 SQL 查询`.`还款日发过代扣客户数` AS `还款日发过代扣客户数`,
  `自定义 SQL 查询`.`还款日客户覆盖率` AS `还款日客户覆盖率`,
  `自定义 SQL 查询`.`还款日期` AS `还款日期`,
  `自定义 SQL 查询`.`还款日还款收回率` AS `还款日还款收回率`
FROM (
  select a.dt 还款日期,a.c 应还客户数,a.totle_repayment 应还金额,a.fact_repayment 实还金额, a.fact_repayment/a.totle_repayment 累计还款收回率, a.very_fact_repayment/a.totle_repayment 还款日还款收回率,t.c 还款日发过代扣客户数,t.c/a.c 还款日客户覆盖率,tt.c 累计发过代扣客户数,tt.c/a.c 累计客户覆盖率
  FROM(
  select date(payment_date) dt,count(DISTINCT APP_NO) c,sum(totle_repayment) totle_repayment,sum(fact_repayment) fact_repayment ,sum(if(payment_date=fact_payment_date,fact_repayment,0)) very_fact_repayment
  from fin_repayment m
  where
  date(payment_date)>'2017-06-01' and date(payment_date)<=date(curdate() + INTERVAL 20 DAY) and DATE_FORMAT(payment_date,'%d') in ('05','20')
  and m.`status` in ('1','2','5')
  and ifnull(cut_chanl,0)<>3
  group by date(payment_date)
  ) a
  left join (
  select date(n.SUBMIT_TIME) dt,count(DISTINCT APP_NO) c
  from fin_back_info n
  where date(n.SUBMIT_TIME)>'2017-06-01' and DATE_FORMAT(n.SUBMIT_TIME,'%d') in ('05','20') and n.PAYMENT_DATE=DATE(n.SUBMIT_TIME)
  group by date(n.SUBMIT_TIME)
  ) t
  on a.dt=t.dt
  left join (
  select date(n.PAYMENT_DATE) dt,count(DISTINCT APP_NO) c from fin_back_info n
  where date(n.SUBMIT_TIME)>'2017-06-01'
  group by date(n.PAYMENT_DATE)
  ) tt
  on a.dt=tt.dt
) `自定义 SQL 查询`
*************************** 6. row ***************************
 
6、分析慢SQL,产生大量的派生表,可能是由于内存不够,写入磁盘导致的IO过高
7、执行该SQL,观看监控,产生IO高峰,确认为该SQL导致的IO瓶颈过高

 

 

最新文章

  1. html5快速入门(一)—— html简介
  2. MVC4笔记 Area区域
  3. 关于RadUpload上传问题总结
  4. Android Studio怎样更改JDK和SDK的路径?
  5. sql 清除日志空间
  6. 浩哥解析MyBatis源码(四)——DataSource数据源模块
  7. [2019BUAA软工助教]第0次个人作业
  8. Python全局变量和局部变量相关知识点
  9. day 1:计算机发展史和组成部分
  10. mysql error#1251客户端版本过低
  11. canvas-2rect.html
  12. MDK-ARM输出HEX文件重命名设置
  13. openlayers/// Puppeteer.js
  14. 插入排序:直接插入排序&amp;希尔排序
  15. DevExpress11、TreeList
  16. 第三百四十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—编写spiders爬虫文件循环抓取内容—meta属性返回指定值给回调函数—Scrapy内置图片下载器
  17. 768A Oath of the Night&#39;s Watch
  18. iOS 微信支付SDK与微信友盟分享两者同时集成时,出现的问题与解决之路。
  19. JAVA 线程状态转换
  20. Mac 10.12安装FTP工具FileZilla

热门文章

  1. Sharepoint 图片库字段名称(Title)和对应的内部名称(InternalName)
  2. Luogu P4551 最长异或路径 01trie
  3. java对象在内存中的分配
  4. Babelfish (关于map&lt;string,string&gt;的用法
  5. Java面向对象_抽象类应用——模板方法模式
  6. 如何让nginx支持ThinkPHP框架(重点参考)
  7. KBEngine warring项目源码阅读(三) 实体文件与Account处理
  8. 系统整理 精讲 swift 泛型
  9. 【Python】python2 html safe string
  10. 01html基础