一次DTS同步延时过高的排错过程-阿里云开发者社区

开发者社区> 数据库> 正文

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

简介: 业务场景: 秒级数据同步要求的容灾场景,通过阿里云数据库同步工具DTS实时将阿里云上RDS的数据实时同步至自建MySQL数据库故障现象: DTS同步延时高达2小时,造成主备数据不一致,无法满足业务的容灾需求排查经过: 首先,联系阿里云DTS后台,后台同学反馈,目标数据库RT(响应时间)过高。

业务场景:

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

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

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

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

接着,通过 SHOW PROCESSLIST命令查看MySQL的进程列表,发现部分SQL语句执行耗时超过180S,且事务比较密集
1637103298_jpg

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

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

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章