DataWorks离线任务如何提速
已解决
收起
提个问题
2024-06-12 16:02:25
41
0
1
条回答
写回答
取消
提交回答
-
提速通用逻辑
走内网相对走公网速度、安全性、稳定性更优,跨国网络建议走专线打通内网。
离线任务通常情况下并发("concurrent"参数)数越高,同步速度越快,部分插件需要配置切分键(例如"splitPk参数")才生效,否则使用单通道进行同步,具体可参见
插件文档。注意资源可用并发数。
写端数据库负载不高的情况下,可以关闭限流,不限流的情况下则会提供现有硬件环境下最大的传输性能。
"setting": { "speed": { "throttle": true // 是否限流。 "mbps": 1, // 具体速率值。 } }。
大并发任务(>8个并发)且独享数据集成资源组有2台及以上,可以开启分布式"executeMode":"distribute"。
将写端插件中前后置语句移出同步任务外执行。
读端插件过滤条件中尽量使用索引字段避免全表扫描,避免或减少函数等复杂处理。
MySQL Reader
1、where条件中优先选择使用索引字段避免全表扫描,尽量避免使用函数处理等。
2、上调并发需设置splitPk,不设置数据同步视作使用单通道同步该表数据。
3、参考上文提速通用逻辑,优先考虑走内网、加并发。
Datahub Reader
配置了8并发,任务实际并发只有1,原因是实际并发受限于datahub topic shard数,shard数只有1。
OTSStream Reader
OTSSream一直没有速度,原因是填写的结束时间大于了最新数据时间。
OTS Reader
可以通过分片方式提升ots读取性能,具体可咨询OTS。
ClickHouse Writer
1、参考上文提速通用逻辑,优先考虑走内网、加并发。
2、batchSize参数:一次性批量提交的记录数大小,该值可以极大减少数据同步系统与ClickHouse的网络交互次数,并提升吞吐量。如果该值设置过大,会导致数据同步运行进程OOM异常。
相关参考
2024-06-12 16:02:26