上游mysql 同步到下游的tidb,异常慢

【 TiDB 使用环境】生产环境
【 TiDB 版本】v7.0.0
【复现路径】
机器配置 mysql 8c32g dm 4c8g tidb 32h64g
1 上游数据库mysql5.75 ,将mysql数据使用dm同步到下游的tidb,其中dm与mysql在同一个内网,dm与tidb 不在一个内网。
2 dm 、tidb都是默认配置
3 dm 同步的过程中,mysql测报错信息如下


4 dmworker 信息如下

通过对比发现,当前dm程序是有在同步,但是该dm与mysql的连接会经常中断,同时dm有数据同步到tidb环境中,但是落入数据的数据太慢,一天可能还追不上mysql的一个binlog。还望大神指点
dm 程序如下

【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

  1. 先上所有的配置信息
  2. dm与tidb 不在一个内网 (为什么不在一个网段内?那网络是否会有带宽问题?)
  3. 你可以通过 grafana 的参数,判断下是 Mysql → DM 有问题,还是 DM → tidb 有问题
  4. 建议补充更多的信息
1 个赞

dm 机器配置信息


dm 集群信息

dm 机器配置了两个dmworker ,一共两套tidb,8261从同一个mysql 同步到tidb集群1 正常,实时同步,28261 同步到tidb集群2,出现上述同步过慢的情况。考虑到mysql binlog过大,但是上游mysql只有少数量的数据需要同步到tidb2,就将dm配置在了同上游mysql的同内网,目前确认的是带宽没问题。网络也还稳定(同步到tidb集群1正常)200M带宽,当前使用约10M
image
grafana 无法访问的情况下,有什么诊断判断办法吗,当前放假,运维没给开公网访问grafana的端口。还有哪些需要补充的信息,还希望指点。多谢

dm mysql tidb 放到同一个内网试一下

因业务需要,不在同一个内网,mysql和tidb 分别在两个公有云上

字段多不多,以及有没有大字段,这个影响也很明显

看了一下 exec too slow 的情况是一些insert to 大概2000多行。个人感觉,这个是是不是收mysql端中断的连接导致? 网上查了一下资料,没搞懂上游mysql端的日志中中断连接是怎么回事,向tidb集群1 中同步,未出现过连接中断的情况。另外发现在dm_meta库中,该任务只产生两个表


而其他正常的日志有三个表

不知道这个是什么原因导致的

  1. tidb1 和 tidb2 之间是同步的内容以及两个集群之间的差异点
  2. dm 数据源配置和任务同步配置最好贴一下,以及当前 dm 同步的状态信息 query-status
  3. MySQL binlog 产出速度,以及 dm binlog 拉取速度是否构成瓶颈
  4. tidb2 的性能情况,能否简单测试下写入是否正常
  5. 因为 dm 到 tidb 不在一个网络环境,建议也可以看看网络代理转发是否正常

1 tidb1和tidb2 之间的关系,tidb1是腾讯云,tidb2是华为云。要同步的数据是同样的,目的是tidb2 同步完全追平以后,弃用tidb1.启用tidb2 为业务提供服务
2 dm数据源配置如下
dm 配置信息


query-status 信息

3、MySQL binlog 产出速度,每小时约4-5个binlog,每个约1.1G
4、使用 select insert to 测试,写入3000条数据只需要0.16S

跨云同步 带宽多大的,如果同步频率比较大,感觉网速影响比较大。

你2个问题。一个不在同一个内网。带宽被卡死了通过互联网传输性能很差。
第二dm写入速度有问题的单个节点感知写入速度就10mb吧 100g以内用dm 如果再大dm并不合适

您是指dm程序的带宽的写入速率吗?还是dm程序的写入速率 ?

看一下网速吧,是不是网络io 到上限,特别是出口网络

分成两个问题看吧。先看 mysql 与 dm 之间的报错,可以参考这了排查一下:【MySQL技术专题】「问题实战系列」MySQL报错Got an error reading communication packets问题分析指南-CSDN博客

dm 与 tidb 之间的,可以先简单做几个测试:
1、先ping 看看有没有丢包
2、scp 一个大文件,测试一下网络速度
3、确认两套环境的网络带宽,别以为是100M,其实是更小

首先PING一下机器,看看延迟情况不否异常

网络传输耗时太大了吧

可以看下tidb2写入的压力,写入2000行,没有很大的字段,还要20s,估计是集群性能不行

每一段都测试网速以及稳定性

看下云间网速,我们之前有做过阿里云和腾讯云的内网打通,打通后,网速影响不大

两个问题如果不确定是否有相互关系,可以先排查DM连接MySQL为什么报错,看起来是疑似网络问题,对于TiDB的报错是另一个问题,事务执行超过1秒就会报这个错误,可以分别排查第1个问题再看第2个问题