开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

性能调优配置数据同步过慢的场景是什么?

性能调优配置数据同步过慢的场景是什么?

展开
收起
真的很搞笑 2023-04-29 17:11:31 86 0
1 条回答
写回答
取消 提交回答
  • **场景一:同步任务使用公共调度(WAIT)资源时,一直在等待状态。场景示例 在DataWorks中对任务进行测试时,出现任务一直等待的状态,同时提示系统内部错误。 例如使用默认资源组,完成从RDS同步数据至MaxCompute的任务,共等待了约800秒,但是日志显示任务只运行了18秒。现在运行其它同步任务进行测试,也一直处于等待中 。显示的等待日志如下所示。2017-01-03 07:16:54 : State: 2(WAIT) | Total: 0R 0B | Speed: 0R/s 0B/s | Error: 0R 0B | Stage: 0.0%解决方法 因为您使用的是公共调度资源,公共资源能力是受限的。可能不只是单个用户的2~3个任务在使用,很多项目也在使用。任务实际运行10秒,但是延长到800秒,是因为您的任务下发执行时,发现资源不足,需等待获取资源。 如果您对同步速度和等待时间比较敏感,建议在低峰期配置同步任务。通常,晚上零点到3点同步任务较多,您可以避开零点到3点的时间段,便可相对减少等待资源的情况。场景二:提高多个任务导入数据到同一张表的同步速度。场景示例 想要将多个数据源的表同步至一张表中,所以将同步任务设置成串行任务,但是最后发现同步时间很长。解决方法可以同时启动多个任务,同时往一个数据库写入数据,请注意以下问题:确保目标数据库负载能力是能够承受的,避免不能正常工作。在配置工作流任务时,可以选择单个任务节点配置分库分表任务,或在一个工作流中设置多个节点同时执行。如果任务执行时,出现等待资源(WAIT)情况,可以低峰期配置同步任务,保证任务有较高的执行优先级。场景三:数据同步任务where条件没有索引,导致全表扫描同步变慢。场景示例执行的SQL如下所示。select bid,inviter,uid,createTime from relatives where createTime>='2016-10-2300:00:00'and reateTime<'2016-10-24 00:00:00';从2016-10-25 11:01:24.875开始执行,到2016-10-25 11:11:05.489开始返回结果。同步程序在等待数据库返回SQL查询结果,MaxCompute需等待很久才能执行。分析原因 where条件查询时,createTime列没 https://help.aliyun.com/document_detail/137789.html,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-05-01 15:48:19
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关电子书

更多
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载