By default, the SMC client uses the single-threaded data transfer model, which may have bottlenecks in some network environments. You can enable multi-threaded transfer acceleration to maximize bandwidth utilization and improve transmission efficiency in high-bandwidth scenarios. SMC client V1.5.1.7 and later support multi-threaded transfer acceleration.

Background information

Enabling multithreading increases CPU and bandwidth consumption on the source server. The more the threads, the more resources are consumed. Therefore, you must determine the number of threads based on the CPU cores and bandwidth conditions of the source server.

In a network environment with single-stream limit or low bandwidth, multi-threaded transfer may be not as efficient as single-threaded transfer. If conditions permit, upgrade the CPU of the source server to improve transmission efficiency.


  1. Download and decompress the SMC client package.
    1. On the migration source, download the SMC client.
    2. Decompress the SMC client package.
      The SMC client is available for Windows and Linux in both the 32-bit version (i386) and the 64-bit version (x86_64). Select the version compatible with the migration source. The following figure shows the decompressed client folder.
    3. Decompress the selected client version.
      The following figure shows the files and directories stored in the decompressed folder.smc-client-2
      Table 1. Description of SMC client files
      File or folder Description
      go2aliyun_client.exe The Windows CLI executable file.
      go2aliyun_gui.exe The Windows GUI executable file. For more information about the GUI version, see Use the Windows GUI version of an SMC client.
      go2aliyun_client The Linux CLI executable file.
      user_config.json The configuration file of the migration source and destination.
      Excludes The folder in which to add directories to exclude from migration.
      client_data The migration data file, which includes the intermediate instance information and migration progress.
  2. Go to the directory of the SMC client.
  3. Open the client_data file and configure the parameters required for multithreading.
    You only need to set extra.sync.multi_threads.number to a value greater than or equal to 2 to enable multithreading. The following figure shows that four threads have been configured for the SMC client.Multithreading
    Table 2. Multithreading parameters
    Parameter Type Description
    extra.sync.multi_threads.number Integer The number of threads.
    • If this parameter is set to 0 (default value), multithreading is disabled.
    • If this parameter is set to a value greater than or equal to 2, multithreading is enabled.
    extra.sync.multi_threads.mode Integer The multithreading mode. This is a reserved parameter that does not need to be modified.

    Default value: 0.

    extra.sync.multi_threads.bandwidth_limit Integer The maximum bandwidth of each thread. Unit: KB/s.

    The default value is 0, which indicates unlimited bandwidth.

  4. Close the client_data file and perform migration.
    For detailed steps on how to use SMC for a migration, see Migration process.