在使用 AWS DMS 时,如何提高 AWS SCT 转换工具的性能?

上次更新日期:2022 年 8 月 19 日

我正在使用 AWS Schema Conversion Tool (AWS SCT) 将源数据库对象转换为与我的目标 AWS Database Migration Service (AWS DMS) 数据库兼容的格式。但是,转换过程花费的时间超出预期。如何提高 AWS SCT 转换工具的性能?

简短描述

AWS SCT 是本地安装的工具,可用于自动转换源数据库架构。该工具还将大部分数据库代码对象(如视图、存储过程和函数)转换为与目标数据库兼容的格式。有关更多信息,请参阅使用 AWS SCT 转换数据库架构

这意味着 AWS SCT 的性能取决于本地安装计算机上的可用内存。如果您增加 AWS SCT 可使用的内存,转换速度也会相应提高。但是,这意味着 AWS SCT 还会消耗本地计算机上的更多内存资源。

注意:最佳实践是将 AWS SCT 安装在与源数据库位于同一网络的单独计算机上。这样就可以在代码转换和数据迁移阶段获得更理想的性能。确保源数据库统计信息是最新的,以避免数据仓库迁移中的性能问题。

解决方案

使用以下方法之一控制 AWS SCT 工具的内存使用情况和性能。

选择 AWS SCT 使用内存的方式

  1. 在本地计算机上运行 AWS SCT。
  2. Settings(设置)菜单中,选择 Performance and Memory(性能和内存)。
  3. 选择以下选项之一:
    • Fast conversion, but large memory consumption(快速转换,但内存消耗大) - 此选项可优化转换速度。但是,它可能需要更多的内存来存储对象引用缓存。
    • Low memory consumption, but slower conversion(内存消耗低,但转换速度较慢) - 此选项会最大限度地减少使用的内存量,但会导致转换速度变慢。如果计算机的内存量有限,请使用此选项。
    • Balance speed with memory consumption(平衡速度与内存消耗) - 此选项可提供内存使用和转换速度之间的平衡。
  4. 选择 Apply(应用),然后选择 OK(确定)以保存设置

手动配置 AWS SCT 可用的内存量

通过手动配置 AWS SCT 可用的内存量,您可以更精细地控制该工具消耗的内存。

要修改 AWS SCT 消耗的内存量,请执行以下步骤:

  1. 打开包含 AWS SCT 配置文件的文件夹。例如,在 Windows 系统上,它位于 C:\Program Files\AWS Schema Conversion Tool\App 中。
  2. 使用记事本等文本编辑器打开名为 AWS Schema Conversion Tool.cfg 的配置文件。
  3. JavaOptions 部分中,设置 AWS SCT 可用的最小和最大内存。此示例将最小值设置为 4GB,最大值为 40GB:
[JavaOptions]
-Xmx48960M
-Xms4096M