2021年8月核心MySQL主库优化总结
公司核心主库,在我来公司时是1主5从库(腾讯云RDS),外加7个自建级联从库。
从2020年2月到2021年8月优化总结:
1, 7个自建多级从库,从以前的中转同步改成从一级从库同步,废弃了5个从库实例,还有1个给大数据用,另外一个做备用
2,数据库容量控制, 期间清理出400多G空间的表数据
3,1主5从发展到了1主13从库
4,优化12个实例的每天4万次的慢SQL(超过1秒)
5,通过导入ELK的SQL审计日志,发现部分表查询次数过高,优化后减少调用7350万+次
6,通过导入ELK的SQL审计日志,发现数据安全事故
7,通过导入ELK的SQL审计日志,快速帮助研发定位线上问题
8,废弃了以前研发直连线上库查询数据方式
9,协助拆分表到其他MySQL实例,减少耦合,其中附件表(104G)拆分,经历8个月,考验耐心和协调能力等
10,从2020年5月份到2021年8月中,每1-2周,发送主库实例优化报告邮件,给领导和同事汇报。
每周都想下周能优化什么,记得有次到周四上午没找到可优化地方,以为下周优化邮件就没得写,没想到下午就找到优化的地方,真是心想事成。
11,处理了几十起数据库故障
(连接数曝高(PHP程序),从库硬件故障,CPU曝高,主库升级bug全部从库回放异常,TPS曝高(同步程序大批量写),从库长时间延迟, 模糊Like查询(改到ELK), QPS曝高,长事务未提交,高并发异常,Redis带宽被限异常,Redis的CPU持续80%等)
12,部署长事务监控,shell慢SQL自动发送邮件,每10秒保存Processlist信息等程序
13,程序化将14个MySQL实例的SQL审计日志导入到ELK(14实例每天4亿+条SQL执行日志)