有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

操作场景

在 DTS 数据同步任务配置中,或者任务运行中,可根据源库的数据写入量,源库和目标库的资源配置,来灵活调整任务并发数和 RPS。
说明:
本文仅提供了 DTS 性能参数的操作指导,如果您需要全面提升 DTS 传输性能,需要结合源/目标端的负载,网络情况等进行分析,具体请参考 DTS 性能调优最佳实践

适用范围

数据同步:MySQL/MariaDB/Percona/TDSQL-C MySQL/TDSQL TDStore 相互之间的链路。

注意事项

1. 在任务配置阶段,或者当任务状态为“运行中”时,才能进行限速操作。
2. 降低任务速率时,请注意观察延迟数据量和延迟时间,DTS 默认只缓存7天的中间数据,长期延迟量过大,可能导致中间缓存数据过期,任务彻底失败。
3. 全量导出阶段调整速率会导致任务重启,部分重启场景任务需要从头开始同步,具体如下。增量阶段调整速率也会发生任务重启,但对数据传输无影响。
主键冲突策略选择“冲突报错”的任务,默认走有锁同步。在有锁同步场景中,重启任务后需要从头开始同步。
主键冲突策略未选择“冲突报错”的其他任务,默认走无锁同步。在无锁同步场景中,在结构导出阶段、无主键表导出阶段,重启任务需要从头开始同步;在有主键表导出阶段,重启任务会接续同步,无需从头开始。
4. 如果用户初次修改了限速中的全量速率参数(全量导出线程数据和 RPS,全量导入线程数和 RPS),后续进行修改同步对象操作时,会先跳转到限速参数调整界面,建议用户将全量速率参数尽量调大一些(根据源和目标库负载情况综合判断),避免新追加对象后,对新对象的全量同步耗时较久

调整原则

DTS 任务全量导出并发线程数默认为8,一般情况下不需要修改。如遇需要调整,请结合监控指标,源库/目标库配置,在不影响源库/目标库性能的前提下,最大程度提升 DTS 传输速率。
DTS 传输性能与源/目标库的配置、DTS 任务规格、网络延迟、网络带宽等都有关系,所以提升 DTS 传输性能时,单独的调增大整线程数,或增大 RPS,不一定有效,需要分析性能瓶颈在哪个环节,针对具体问题具体解决。
任务阶段
调整场景
调整方案
调整结果
任务配置阶段
源库配置太低,无法承担 DTS 增加的负载,在 DTS 任务启动后源库出现崩溃。
减小源库导出线程数,降低源库导出 RPS。
有效。
目标库配置太低,无法承担 DTS 增加的负载,在 DTS 任务启动后目标库出现崩溃。
减小目标库导入线程数,降低目标库导入 RPS。
有效。
全量阶段
源库/目标库配置高,DTS 全量传输速率慢
如果源库配置高,增大源库导出线程数
如果目标库配置高,增大目标库导入线程数。
全量阶段默认 RPS 非常大,提升传输速率时一般不需要调整 RPS。
不一定有效。
如果调整后未生效,请排查网络延迟,带宽等因素,因为这些也会影响传输性能。
目标库配置低,DTS 写入目标库速度太快,对目标库负载产生影响(如 CPU 占用率高)
减小目标库导入线程数,降低目标库导入RPS。
有效。
增量阶段
源库配置高,源库写入数据量大,网络延迟大
查看 RPS 是否达到上限,DTS 任务不同规格,对应的 RPS 上限 不同。
如果 RPS 已达上限,则先升级 DTS 任务规格(通过变配操作实现)。
如果升级任务后未生效,请排查网络延迟,带宽等因素,因为这些也会影响传输性能。
目标库配置低,DTS 写入目标库速度太快,对目标库负载产生影响(如CPU 占用率高)
1. 降低 DTS 任务规格。
2. 减小目标库导入并发线程数。
有效。
目标 Kafka 配置低,DTS 写入目标库速度太快,对目标库负载产生影响
在同步到 Ckafka 的链路中,遇到写入速率太快,降低目标端写入 RPS 和线程数效果可能不显著,请先调整 CKafka 带宽和分区数。
1. 提高 CKafka 网络带宽配置。
2. 调整 Ckafka 的分区数,多个分区可以并发写入,提升写入 Ckafka 的速率。
有效。
目标库配置低,DTS 连接数过多,目标库线程达上限
降低目标库导入线程数。
有效。
DTS 写入到目标库,与目标库本身的写入产生锁争抢(例如 Lock wait timeout 错误)
降低目标库导入线程数,减少锁竞争。
有效。

任务配置中限速

同步任务初始配置阶段,在设置同步选项和同步对象页面的高级选项中,可设置传输速率参数。




任务运行中限速

任务在全量数据同步阶段进行限速操作,可以修改全量+增量的速率参数(全量导出线程数和 RPS,全量导入线程数和 RPS,增量导入线程数);任务在增量数据同步阶段进行限速操作,仅可修改增量的速率参数(增量导入线程数),具体操作参考如下。
1. 登录 DTS 控制台,在左侧导航选择数据同步页,选择指定的同步任务。
2. 在全量数据同步阶段进行限速操作。
操作列选择更多 > 限速

在弹出的界面调整速率参数,完成后单击确定



3. 在增量数据同步阶段进行限速操作。
操作列选择更多 > 限速