
# 性能调优
#### 概述
根据数据迁移模型分析，除了源端读取速度、目的端写入性能、带宽优化外，您也可以通过如下方式优化作业迁移速度：
- **使用大规格CDM集群**
  不同规格的CDM集群网卡带宽、集群最大抽取并发数等有所差异。如果您有较高的迁移速度需求，或当前CDM集群的CPU使用率、磁盘使用率、内存使用率等指标经常在较高区间运行，建议您选用大规格的CDM集群规格进行数据迁移。
  
- **使用多个CDM集群**
  包含但不限于以下情况时，建议您使用多个CDM集群进行业务分流，提升迁移效率与业务稳定性。
  - 需要作为不同的用途或给多个业务部门使用。例如既需要用于数据迁移作业，又需要作为DataArts Studio管理中心连接代理时，建议各配置至少一个CDM集群。
  
  - 待迁移任务库表较多，迁移量较大。此时可以使用多个CDM集群同时作业，提升迁移效率。
  
  - 当前CDM集群的CPU使用率、磁盘使用率、内存使用率等指标经常在较高区间运行。此时建议使用多个CDM集群进行业务分流。
    
- **错峰执行CDM作业**
  如果大量CDM作业同时执行，当超过当前CDM集群的并发执行作业数时，会导致作业排队，耗时提升。
  建议您将迁移作业的运行时间错开，平摊在业务周期内，避免资源紧张导致迁移时间过长。
  
- **调整抽取并发数**
  对于低任务量场景，调整抽取并发数是性能调优的最佳方式。CDM迁移作业支持设置作业抽取并发数，同时也可以设置集群最大抽取并发数。
  CDM通过数据迁移作业，将源端数据迁移到目的端数据源中。其中，主要运行逻辑如下：
  1. 数据迁移作业提交运行后，CDM会根据作业配置中的"抽取并发数"参数，将每个作业拆分为多个Task，即作业分片。
     ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
     不同源端数据源的作业分片维度有所不同，因此某些作业可能出现未严格按作业"抽取并发数"参数分片的情况。
     
  
  2. CDM依次将Task提交给运行池运行。根据集群配置管理中的"最大抽取并发数"参数，超出规格的Task排队等待运行。
   
  因此作业抽取并发数和集群最大抽取并发数参数设置为适当的值可以有效提升迁移速度。关于如何调整抽取并发数，详情请参考[如何调整抽取并发数]。
  
 
 #### 如何调整抽取并发数
1. 集群最大抽取并发数的设置与CDM集群规格有关，并发数上限建议配置为vCPU核数\*2，如[表1]所示。
    表1集群最大抽取并发数配置建议 
   | 规格名称        | vCPUs/内存  | 集群并发数上限参考 |
   |:---|:---|:---|
   | cdm.large   | 8核 16GB   | 16        |
   | cdm.xlarge  | 16核 32GB  | 32        |
   | cdm.4xlarge | 64核 128GB | 128       |
      
   图1集群最大抽取并发数配置   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001388307117.png "点击放大") 
2. 作业抽取并发数的配置原则如下：
   1. 迁移的目的端为文件时，CDM不支持多并发，此时应配置为单进程抽取数据。
   
   2. 表中每行数据大小为1MB以下的可以设置多并发抽取，超过1MB的建议单线程抽取数据。
   
   3. 作业抽取并发数可参考集群最大抽取并发数配置，但不建议超过集群最大抽取并发数上限。
   
   4. 目的端为DLI数据源时，抽取并发数建议配置为1，否则可能会导致写入失败。
   
   
   图2作业抽取并发数配置   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001388104645.png "点击放大") 
 
