How can I improve the performance of the AWS SCT conversion tool when using AWS DMS?

Last updated: 2022-08-19

I'm using the AWS Schema Conversion Tool (AWS SCT) to convert source database objects to a format that is compatible with my target AWS Database Migration Service (AWS DMS) database. But the conversion process is taking longer than expected. How can I improve the performance of AWS SCT conversion tool?

Short description

The AWS SCT is a locally installed tool that you can use to automatically convert your source database schema. The tool also converts a majority of the database code objects, such as views, stored procedures, and functions, to a format that's compatible with the target database. For more information, see Converting database schemas using AWS SCT.

This means that the performance of the AWS SCT depends on the memory that's available on the local machine that it's installed on. If you increase the memory that's available to the AWS SCT, then you also speed up the performance of your conversion. But this means that the AWS SCT also consumes more memory resources on your local machine.

Note: It's a best practice to install the AWS SCT on a separate machine that's in the same network as your source. This allows for better performance in the code conversion and data migration phases. Be sure that the source database stats are current to avoid performance issues in the data warehouse migration.

Resolution

Use one of these methods to control the memory usage and performance of the AWS SCT tool.

Choose how AWS SCT uses memory

  1. Run the AWS SCT on your local machine.
  2. In the Settings menu, choose Performance and Memory.
  3. Choose one of these options:
    • Fast conversion, but large memory consumption - This optimizes the speed of the conversion. But, it might need more memory for the object reference cache.
    • Low memory consumption, but slower conversion - This minimizes the amount of memory used, but it results in a slower conversion. Use this option if your machine has a limited amount of memory.
    • Balance speed with memory consumption - This provides a balance between memory use and conversion speed.
  4. Choose Apply, and then choose OK to save your settings

Manually configure the amount of memory available to AWS SCT

You can control the memory that the AWS SCT consumes in a more granular way by manually configuring how much memory is available to the tool.

To modify the amount of memory the AWS SCT consumes, follow these steps:

  1. Open the folder that contains the AWS SCT configuration file. For example, on a Windows system its located in C:\Program Files\AWS Schema Conversion Tool\App.
  2. Open the configuration file named AWS Schema Conversion Tool.cfg using a text editor like Notepad.
  3. In the JavaOptions section, set the minimum and maximum memory available to the AWS SCT. This example sets a minimum of 4GB and a maximum of 40GB:
[JavaOptions]
-Xmx48960M
-Xms4096M