暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【磐维数据库 - dtp迁移工具】全量迁移优化

原创 Darcy 2025-03-18
80

1. jvm 内存

见 磐维数据库_dtp_迁移工具_V3.1.0_B01_管理员指南.pdf -> 6.2.JVM 调优

2. 并发

2.1 读并发

读并发:任务配置 -> 任务并发度,上限:128
Pasted image 20250318151539.png

2.2 写并发

写并发:系统配置 -> 写并发数,上限:128

2.3 积压

  • 如果dtp从源端读取的速度,比写入目标端的速度快,那么数据将在dtp端产生积压。

  • dtp 日志输出以下内容,说明有积压:

[17:49:53:599] [WARN] - dts.datatransfer.execute.e.b(TransferExecutor.java:128) - 线程Thread[migrateData-mainPool-119-3,5,main]:积压字节数10739326224达到上限10737418240。当前任务数:1003,当前活跃线程数:16
复制
  • 积压上限是由 配置管理 -> 系统配置 -> 积压阈值 控制的,默认 2GB.

2.3.1 如何解决积压

如果目标端 io 没有到瓶颈 -> 提高写并发;
如果目标端 io 到了瓶颈 -> 降低读并发。

2.4 并发设置方式

  • 一般情况下读取会比写入快,所以写并发应高于读并发;
  • 具体数值取决于机器性能,可进行多次测试确定,原则是 1. 不产生积压;2. 不浪费机器性能;
  • 读并发应谨慎设置成过高数值,以免影响生产。

2.5 提高机器性能

源端、目标端的性能好,就可以设置更高的并发。比如,如果 data 和 xlog 做分盘,可以提高写入性能。

3. 任务拆分

  • 单个 dtp 建议同时运行 5-6个任务;
  • 找用时较长的任务,对其拆分;
  • 拆分任务时,看报告里面有没有单表迁移时间特别长的:有 -> 单独处理;没有 -> 均匀拆分。

4. 减少迁移的数据量

4.1 排除非必要表

如果有些表存储日志等信息,不是业务运行所必须,可考虑在迁移对象中排除这部分表。

4.2 静态表提前迁移

在一段时间内不会产生数据变化的表,可考虑提前迁移。

4.3 分批割接

如果数据不需要在同一个割接窗口进行迁移,可考虑分批割接。

5. 加 dtp

部署多个dtp(每台机器一个)进行迁移。

6. 考虑做增量

最后修改时间:2025-03-18 15:37:02
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论