DataWorks数据同步任务调优场景二:同步任务一直运行,但速率为0?
如果DataWorks数据同步任务一直运行,但速率为0,可能的原因有多种。首先,查看运行日志会发现任务长时间处于运行状态,但速率为0。这种情况通常是由于拉取的SQL执行比较慢(例如源数据库CPU负载高或网络流量占用高),或在拉取SQL前进行了truncate等操作,导致处理时间较长。
此外,数据同步速度也受到来源与目标端数据库环境及同步任务配置的影响。例如,源端和目的端数据库的性能、负载和网络情况是影响数据同步速度的重要因素。同时,数据集成同步任务默认不限速,任务将在所配置的并发数的限制上以最高能达到的速度进行同步。为了保护数据库免受过大的压力从而影响生产,数据集成提供了限速选项,您可以按照实际情况调优配置。
请注意,数据集成同步任务不允许同一时间运行相同节点的不同实例(即相同JSON配置的同步任务不能同一时间运行多个)。例如,如果5分钟为周期的同步任务,由于上游延迟,在0点5分时调起了原本0点0分的实例和0点5分的实例,这样会导致其中一个实例无法调起。
查看运行日志时,发现任务长时间处于运行状态,但速率为0。通常是由于拉取的SQL执行比较慢(源数据库CPU负载高或网络流量占用高),或在拉取SQL前进行truncate等操作,导致处理时间较长。问题示例查看任务运行日志,任务长时间执行,但速率为0,从18:00开始到21:13结束。查看运行日志中存在truncate操作记录,从18:00开始到21:13结束。
解决方法如问题示例所示,可能是truncate操作导致的同步任务慢,您需要检查源数据库truncate慢的原因。
https://help.aliyun.com/document_detail/137827.html,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
楼主你好,看了你的问题,初步推测是源数据库中没有新的数据需要同步,如果源数据库中没有新增的数据需要同步,同步任务会一直运行,同时速率也为0。
根据这个情况,你可以通过适当调整配置或者修改同步任务设置来优化同步任务的性能。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。