一次DTS同步延时过高的排错过程

业务场景:

秒级数据同步要求的容灾场景,通过阿里云数据库同步工具DTS实时将阿里云上RDS的数据实时同步至自建MySQL数据库
故障现象:

DTS同步延时高达2小时,造成主备数据不一致,无法满足业务的容灾需求
排查经过:

首先,在阿里云控制台提交问题工单,工单同学反馈,目标数据库RT(响应时间)过高。即,MySQL数据库无法及时处理RDS同步过来的数据,猜测可能是由于主机资源不足导致

接下来,使用top命名查看MySQL宿主机CPU使用情况,发现主机整体CPU消耗并不高,说明主主机资源关系不大,但MySQL进程占单CPU线程超过100%,问题出在MySQL数据库程序本身

接着,通过 SHOW PROCESSLIST命令查看MySQL的进程列表,发现部分SQL语句执行耗时超过180S,且事务比较密集
一次DTS同步延时过高的排错过程

再接着,EXPLAIN对应SQL语句,发现使用了全表扫描(50多万行),未引用索引

又接着,用SHOW CREATE TABLE命令查看,无索引

问题基本定位,联系开发人员为该表创建索引,DTS恢复毫秒级同步延时,故障解决
经验总结:
容灾场景,两端资源应一致,以确保业务运行体验一致

上一篇:服务器不能访问外网也可以上云


下一篇:全国政协委员贺强:余额宝限制购买不方便用户