Help Center/ Data Replication Service/ FAQs/ Delay/ What Are Possible Causes of Slow Migration or Suspended Progress in Full Phase?
Updated on 2024-11-30 GMT+08:00

What Are Possible Causes of Slow Migration or Suspended Progress in Full Phase?

Symptom

During a full migration, the task takes a long time or the migration progress is not updated.

Fault Locating

  • Check the size of data to be migrated in the source database.

    The data migration progress depends on the number of tables. If the data migration progress is not updated for a long time, there may be large volumes of data in some tables. In the Migration Details area, locate the target migration object and click View Details in the Operation column to view the migration progress.

  • Check the primary keys and indexes of the tables in the source database.

    Large tables in the source database lack primary keys and NOT NULL unique indexes. Take MySQL as an example. Run the show create table <Database name >.<Table name > command in the source database to check whether a table has a primary key or NOT NULL unique index.

  • Check whether the persistent connection of the source database is stopped.

    If the source is a database on other clouds, persistent connections may be automatically terminated. As a result, the full migration takes a long time or the migration progress is not updated.

  • Check the index migration of the destination database.

    If the index migration progress is not updated for a long time, the possible cause is that it takes a long time to create indexes in some large tables and the destination database keeps creating indexes. Log in to the destination database and run the show processlist command to view the DRS status in the destination database.

  • Check whether a deadlock occurs in the destination database.

    If a deadlock occurs in the destination database, full data may fail to be written. Take MySQL as an example. Run the following commands to view and delete deadlocks:

    • Run the show OPEN TABLES where In_use > 0 command to check whether the table is locked.
    • Run the show processlist command to view the table locking process.
    • Run the KILL [CONNECTION | QUERY] <thread_id> command to delete the table locking progress.
  • Check the network connection between the source database and destination database.

    Check whether the network connectivity is normal and whether the network bandwidth is limited. Run OS commands such as ping to test the network connectivity and delay.

  • Check whether Flow Control is enabled for the DRS task.

    Click the task name and check whether Flow Control is enabled in the Flow Control Information area on the Basic Information tab.