开发者社区 问答 正文

DTS全量任务死锁

已解决

DTS全量任务死锁

展开
收起
提个问题 2024-06-07 14:08:25 33 分享 版权
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    DTS在写目标库时会并发攒批写入,可能会存在少量死锁的情况,DTS会根据死锁报错进行重试,不会对数据质量造成影响;当发现目标库存在大量DTS导致的死锁,且出现锁超时现象,可能有以下原因:
    1.目标端和DTS都有写入时,是有可能造成死锁的。
    2.DTS在攒批写入时导致数据库负载过高,导致DTS写入线程持有写锁时间较长,增加锁冲突的概率。
    3.DTS进程资源达到限制,性能下降。

    您可以参考以下方式进行优化:
    1. 需要您这边自行排除目的端是否有业务数据写入的情况。
    2. 可以检查目标库的负载情况,如果负载过高,可通过DTS控制台控制限流,限制DTS的写入,以暂时减少对目标库业务的影响。
    3. 检查DTS实例规格是否过小,如果是medium以下,可提升规格缓解。
    2024-06-07 14:08:26
    赞同 展开评论