本文为您介绍数据集成离线任务并发度的配置方法、并发度和资源的占用关系,以及同步速度。

并发度的配置方法

数据集成的离线同步任务主要通过设置并发度,来控制任务的占用和同步速度。离线同步任务包括向导模式和脚本模式:
  • 通过向导模式配置离线同步任务,详情请参见通过向导模式配置任务
    在向导模式编辑页面的通道控制区域,您可以通过配置任务期望最大并发数来控制离线任务的并发度。通道控制
  • 通过脚本模式配置离线同步任务,详情请参见通过脚本模式配置任务
    在脚本模式的编辑页面,您可以在JSON结构的配置文本中,通过JSON路径$.setting.speed.concurrent设置离线任务的并发度。并发度

出于性能的考虑和具体数据源读取的限制,同步任务实际运行时的并发度可能小于配置的任务最大期望并发数和任务实际运行时的并发度不一致。

查看任务实际运行并发度的操作如下:
  1. 登录DataWorks控制台
  2. 在左侧导航栏,单击工作空间列表
  3. 选择工作空间所在地域后,单击相应工作空间后的进入运维中心
  4. 在左侧导航栏,单击周期任务运维 > 周期实例
  5. 单击相应的数据同步节点,在右侧打开DAG图。右键单击该节点,选择查看运行日志运行日志
  6. 在节点的运行日志页面,单击Detail log url链接。detail
  7. 在数据同步任务的详情日志页面,查找形式为JobContainer - Job set Channel-Number to 2 channels.的日志,此处的channels即为任务实际运行的并发度。并发

并发度和资源的占用关系

在独享资源组中,占用关系包括并发度和CPU、内存的占用关系:
  • 并发度和CPU的占用关系

    在独享资源组中,并发度和CPU的占用关系为1:0.5,即拥有一台4 vCPU 8 GiB规格的ECS机器,其独享资源组的并发额度为8。最多能够同时运行8个并发度为1的离线同步任务,或4个并发度为2的离线同步任务。

    当新提交至独享资源组的任务所需要的并发度大于独享资源组剩余的并发度额度时,新提交的任务将等待独享资源组中正在运行的任务结束,直至剩余的并发度额度满足新提交任务的并发度需求。
    说明 如果新提交任务设置的并发度超过独享资源组的最大并发额度,例如,向一台拥有4 vCPU 8 GiB规格的ECS机器的独享资源组提交一个并发度设置为10的任务,该任务将永远处于等待资源的状态。由于资源组根据任务被提交的先后顺序分配资源,后续提交的任务也将无法运行。
  • 并发度和内存的占用关系
    在独享资源组中,单个任务的并发度和内存的占用关系为Min{768+(并发数-1)*256,8029} MB。但是,您可以在任务中通过设置,覆盖其对应关系。如果是脚本模式,请在JSON结构的配置文本中,通过JSON路径$.setting.speed.jvmOption进行设置。内存
    您需要确保所有正在运行的任务使用内存的总和,比独享资源组中所有机器的内存总量小1 GB以上,任务才能平稳运行。如果未满足该条件,会因为Linux系统的OOM Killer机制强制停止任务的运行。
    说明 如果您未使用脚本模式加大任务的内存,则只需要考虑独享资源组并发度的额度对任务提交的限制。

同步速度

不同数据源的并发读写速度会有很大的差异。下文为您介绍典型数据源在独享资源组中,单并发的同步速度:
  • 不同数据源的Writer插件对应的单并发平均速度
    Writer 单并发平均速度(KB/s)
    AnalyticDB for PostgreSQL 147.8
    AnalyticDB for MySQL 181.3
    ClickHouse 5259.3
    DataHub 45.8
    DRDS 93.1
    Elasticsearch 74.0
    FTP 565.6
    GDB 17.1
    HBase 2395.0
    HBase11x 0.2
    hbase20xsql 37.8
    HDFS 1301.3
    Hive 1960.4
    Hologres 19.1
    HybridDB for MySQL 323.0
    HybridDB for PostgreSQL 116.0
    Kafka 0.9
    LogHub 788.5
    MongoDB 51.6
    MySQL 54.9
    ODPS 660.6
    Oracle 66.7
    OSS 3718.4
    OTS 138.5
    PolarDB 45.6
    PostgreSQL 168.4
    Redis 7846.7
    SQLServer 8.3
    Stream 116.1
    TSDB 2.3
    Vertica 272.0
  • 不同数据源的Reader插件对应的单并发平均速度
    Reader 单并发平均速度(KB/s)
    AnalyticDB for PostgreSQL 220.3
    AnalyticDB for MySQL 248.6
    DRDS 146.4
    Elasticsearch 215.8
    FTP 279.4
    HBase 1605.6
    hbase20xsql 465.3
    HDFS 2202.9
    Hologres 741.0
    HybridDB for MySQL 111.3
    HybridDB for PostgreSQL 496.9
    Kafka 3117.2
    LogHub 1014.1
    MongoDB 361.3
    MySQL 459.5
    ODPS 207.2
    Oracle 133.5
    OSS 665.3
    OTS 229.3
    OTSStream 661.7
    PolarDB 238.2
    PostgreSQL 165.6
    RDBMS 845.6
    SQLServer 143.7
    Stream 85.0
    Vertica 454.3