作业任务参数调优
概述
实时数据集成服务底层使用Flink流处理框架进行开发,因此包含了Flink系统中最重要的两个部分:JobManager和TaskManager。
作业任务配置中调整的处理器核数、并发数、执行内存参数等便是用来调整JobManager和TaskManager的,默认情况下单个作业使用2U8G资源,会对应创建出1个JobManager进程和1个TaskManager进程,且均使用1U4G资源。
作业调优
默认场景下,给定的1U4G规格可满足绝大部分使用场景,但Migration服务也提供修改JobManager和TaskManager规格的能力以应对极端情况。例如最常见的作业内存溢出,可以在实时集成作业的“任务配置”中添加自定义属性,根据实际情况调整JobManager和TaskManager的各类内存来适应同步场景。

参数名 | 参数类型 | 默认值 | 参数说明 |
|---|---|---|---|
jobmanager.memory.process.size | int | 3586MB | jobmanager的处理内存,直接影响堆内存大小。 说明: 该配置会占用总体资源,影响新增其他作业,非必要不配置。 |
taskmanager.memory.process.size | int | 3686MB | taskmanager的处理内存,直接影响堆内存大小。 说明: 该配置会占用总体资源,影响新增其他作业,非必要不配置。 |
taskmanager.memory.managed.fraction | int | 0.2 | taskmanager管理内存占比。 |
taskmanager.memory.network.max | int | 128MB | 默认不需要配置,分库分表场景下如果实例数和表数过多,建议根据实际情况增加网络内存。 |
taskmanager.memory.network.fraction | int | 0.1 | 默认不需要配置,分库分表场景下如果实例数和表数过多,建议根据实际情况增加网络内存。 |
checkpoint.interval | int | 60000 | Flink作业生成checkpoint的间隔,单位为毫秒。数据量大的作业建议调大,需要给更长时间进行数据Flush,但会增加时延。 |
checkpoint.timeout.ms | int | 600000 | Flink作业生成checkpoint的超时时间,单位为毫秒。 |

