历史版本8 :负载分配 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineDataLink版本功能变动
4.1.4-

1.2 应用场景

由于 FineDataLink 中定时任务、管道任务和数据服务运行都需要占用内存和并发资源等,因此用户可能需要根据实际的使用情况进行任务调整。

1.3 功能说明

FineDataLink 提供对定时任务、管道任务、数据服务进行独立的资源控制。

允许用户在「管理系统>智能运维>负载管理」下的「负载分配」中进行资源控制。

注:对于管道任务和定时任务,任务运行同时受内存和并发的限制,只要有一个不满足则任务报错或者提示。

任务类型设置项设置逻辑说明
定时任务内存限制指定定时模块最大内存占用比例控制并发同步表数
并发限制指定最大并发数控制并发同步最大的表数
Spark内存限制

Spark内存占用比

注:默认占系统和组件预留内存的 75%

影响计算复杂度和计算速度
管道任务内存限制指定管道模块最大内存占用比例控制并发同步表数
并发限制指定最大并发数控制并发同步表数
数据服务

内存限

注:暂不生效,待优化。

指定数据服务模块最大内存占用比例控制并发量和单次返回数据量

2. 兼容说明编辑

2.1 内存限制

4.1.4  版本升级前后「内存限制」变化如下:

  • 独立部署中如果设置了「内存限制」,此配置失效,若需要再次修改内存限制,请联系技术支持。

  • 集成部署中:

如果用户升级前没配置「内存限制」,默认内存限制为 1456 M。

如果用户升级前配置「内存限制」,配置了4000M,小于 jvm 最大内存,那么内存限制升级后变为 4000M
如果客户升级前配置「内存限制」,配置了40000M,大于了jvm最大内存。那么内存限制升级后=jvm最大内存
若用户升级之后还想改内存配置,请联系技术支持。

2.2 并发控制

如果用户在 4.1.4 之前的版本进行了并发任务数的修改,则在升级后,原先的并发设置失效,需要重新在负载分配-并发控制中进行设置。

3. 内存分配编辑

3.1 功能说明

用户可在内存分配下调整各个模块的内存占比。

序号说明
A

显示单机环境总内存

显示能够进行开发、管道、服务任务配置的内

注:可配置内存范围为总内存的10%-内存总量的60%,例如环境总内存为2G,则可配置的内存范围为 0.2-1.2G。

B数据开发可分配的内存量
C数据管道可分配的内存量
D数据服务可分配的内存量
E共享空间内存量,即绿色横条,如果单个模块使用内存超过配置上限,则可在共享空间竞争取用空间。

可配置内存范围为总内存的10%-总内存的60%

且系统和组件预留内存空间为 40%总内存,因此表示可分配内存范围的上下限。

注:其中定时任务 Spark内存默认占系统和组件预留内存的 75%。

G

注1:若为集群环境,则展示所有节点的可用内存。

注2:当前版本数据管道占用内存估算默认上限1G,估算超过1G也按1G来计算。

点击右上角的编辑按钮后即可拖动配置内存占比,如下图所示:

注:拖动共享空间时,三个模块是等比缩小的,但是单个模块最低为1%;拖动各模块时,就是只修改拖动条两边模块的大小。

3.2 使用场景

例如用户在运行定时任务时出现如下报错,表示超出内存限制:

此时需要调大「数据开发」模块的内存占比,如下图所示:

若用户在管道任务启动时,提示任务超出内存限制,如下图所示:

则可以使用内存分配,调大管道任务的内存比例。

4. 并发控制编辑

4.1 功能说明

用户可在并发控制下调整「数据开发」和「数据管道」模块的任务并发数。

序号说明
A

显示 FineDataLink CPU 核数、可配置总并发数

注:总并发数为CPU 核数*N,N默认值是10。

若为集群环境,则展示所有节点的最大并发数,比如:节点1最大并发数Y;节点2最大并发数Y

B

可通过滑动调整并发数,每0.5为最小调节单位。

定时任务和管道任务的最大并发数可调节范围为:

0.5倍CPU核心数≤(管道+定时)并发数<=9.5倍CPU核心数

集群的情况下,展示各节点的CPU数,但是各个节点必须统一配置。

数据管道并发数:管道写入线程池默认占用 0.25*管道总并发数,最低为8;一个管道任务需要占用 4个并发数。

可用并发数为:分配的并发控制数-管道写入线程池占用并发数

例如管道一共30个线程,默认是8个,则剩余22个线程,且由于一个管道任务需要占用 4个并发数,因此还可以配置 5 个管道任务。

数据开发并发数

数据开发/数据转换的线程池:默认值 1*数据开发总并发数
Shell/bat脚本的线程池:默认值 1*数据开发总并发数
SQL 脚本的线程池:默认值 1*数据开发总并发数
实际执行的数据开发/数据转换/参数赋值的并发数,同时受数据开发/数据转换/参数赋值「线程池」和「并发控制」限制,取二者最小值。

其他定时任务节点(SQL、Shell、bat和python节点)不会受并发控制的限制,它们只受自身线程池的限制。

点击右上角的编辑按钮后即可拖动配置最大并发数,如下图所示:

4.2 使用场景

例如在运行管道任务时,若超过内存限制,则在任务启动时进行提示,如下图所示:

此时可以通过配置并发控制调大管道并发数,如下图所示:

注:定时任务如果并发超出限制,则会在日志中进行提示,如下图所示: