
# 影响DRS任务速度的因素有哪些以及如何进行耗时预估
#### 影响因素
- 源库的读取吞吐能力 读取吞吐能力越高，迁移速度越快，耗时越少。影响吞吐的因素包括但不限于服务器规格、负载、磁盘IO性能、数据库限流等。
  
- 目标库的写入吞吐能力 写入吞吐能力越高，迁移速度越快，耗时越少。影响吞吐的因素包括但不限于服务器规格、负载、磁盘IO性能、数据库限流等。
  
- 可用的网络吞吐量 可用的网络吞吐越高，迁移速度越快，耗时越少。影响网络吞吐量的因素包括但不限于可用带宽、防火墙、网络设备限流设置等。
  
- 网络质量和网络延迟 网络延迟越小（影响因素包括但不限于源库目标库和DRS实例地理位置的远近程度），迁移速度越快，耗时越少。网络质量差（比如丢包率高）会降低迁移速度。
  
- DRS实例规格 DRS实例规格越大，迁移速度越快，耗时越少。
  
- 源数据的模型和分布 此类因素包括是否有主键、是否分区表、是否堆表、平均单行数据量大小、表的数量、索引数量等。
  
- 目标库是否已有数据 目标库已有数据可能导致迁移时数据冲突，导致性能下降。
  
- 目标库是否有触发器 目标库有触发器可能导致迁移时写入性能下降。
  
- 目标库备份和日志等相关设置 如无必要可在迁移期间关闭目标库备份和事务日志，可提升迁移性能。
  
- 源库增量数据产生速度 源库增量数据产生速度越快，增量数据追平的耗时越长。
  
- DRS任务数 不考虑其他因素导致的性能瓶颈，通过按表拆分成多个DRS任务，可提升总体迁移性能。
  
 
#### 迁移时长预估
由于影响迁移时长的因素很多，因此没有通用的计算方式能准确的计算迁移耗时，用户可先参考[实时同步链路规格说明](https://support.huaweicloud.com/productdesc-drs/drs_01_0314.html)进行评估。建议用户先使用和待迁移实例相同规格、负载、网络配置、数据模型的环境创建测试任务，以评估迁移时长。
#### 迁移速度提升
全量：
- 如果受限于跟源库或目标库的网络带宽限制，需要扩大带宽；
- 源端负载不高的情况下，可以增加读和写的并发数；
- 扩大DRS的任务规格。
增量：
- 如果受限于跟源库或目标库的网络带宽限制，需要扩大带宽；
- 如果是受限于DRS规格的性能上限，需要改用更大规格的DRS任务；
- 如果受限于回放慢，增加回放并发数。
 
