【解决方案】Routin Load并发与哪些参数有关

Viewed 55

Doris的Routin Load并发与哪些参数有关,如何调优?

1 Answers

1. 如果需要进行Routine Load导入调优可以加大topic的分区提高并行度,同时结合服务器配置调大如下配置:

1. Routine Load PROPERTIES
a. desired_concurrent_number
期望的并发度。一个例行导入作业会被分成多个子任务执行。这个参数指定一个作业最多有多少任务可以同时执行。必须大于0。默认为5。
这个并发度并不是实际的并发度,实际的并发度,会通过集群的节点数、负载情况,以及数据源的情况综合考虑
2. fe.conf
a. max_routine_load_task_concurrent_num
单个 Routine Load 作业的最大并发任务数,默认5
b. max_routine_load_task_num_per_be
每个 BE 的最大并发例 Routine Load 任务数,默认5
c. max_routine_load_job_num
最大 Routine Load 作业数,包括 NEED_SCHEDULED, RUNNING, PAUSE,默认100
3. be.conf
a. routine_load_thread_pool_size
routine load任务的线程池大小。 这应该大于 FE 配置 'max_concurrent_task_num_per_be',默认10
b. max_consumer_num_per_group
一个数据消费者组中的最大消费者数量,用于routine load,默认3

2. Routine Load计算并发公式参考:

  1. 总的 routine load task 容量 = be数量 * min(max_routine_load_task_num_per_be, routine_load_thread_pool_size)

  2. 单 routine load job 的并发 task 数 = min(topic_partition_num, desired_concurrent_number, max_routine_load_task_concurrent_num)

  3. 单 routine load job 的并发 consumer 数 = min(topic_partition_num, 单 routine load job 的并发 task 数 * max_consumer_num_per_group)