选择正确的选择Amazon适用于您迁移的 DMS 复制实例 - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

选择正确的选择Amazon适用于您迁移的 DMS 复制实例

Amazon DMS在 Amazon EC2 实例上创建复制实例。Amazon DMS目前支持将 T2、T3、C4、C5、R4 和 R5 Amazon EC2 实例类用作复制实例:

  • T2 实例是可突增性能实例,此类实例具有基线水平的 CPU 性能并能够突增到基线之上。基准性能和突增能力由 CPU 积分控制。根据实例大小,T2 实例以设定的速率持续获得 CPU 积分。它们在闲置时累积 CPU 积分,并在处于活动状态时消耗 CPU 积分。

    T2 实例是各种通用型工作负载的不错选择。这些包括微服务、低延迟交互式应用程序、中小型数据库、虚拟桌面、开发、构建和暂存环境、代码存储库以及产品原型。

  • T3 实例是下一代突发性通用实例类型。此类型提供基准水平的 CPU 性能,而且只要有需要,就能随时突增 CPU 使用率。T3 实例兼顾了计算、内存和网络资源,并专为 CPU 使用中等,遇到峰值的应用程序而设计。当工作负载运行低于基准阈值时,T3 实例会累积 CPU 积分。获得的每个 CPU 积分都使 T3 实例有机会在需要时突增一个 CPU 核心在一分钟内的性能。

    T3 实例可以随时突增所需的时间unlimited模式。有关unlimited模式,请参阅使用无限模式处理可突增性能实例.

  • C4 实例针对计算密集型工作负载进行了优化,并以较低的每计算比率提供非常经济高效的高性能。它们显著提高了每秒数据包数 (PPS) 性能,降低了网络抖动,并减少了网络延迟。Amazon DMS此外,CPU 密集型,尤其是在执行异构迁移和复制时,例如从 Oracle 迁移到 PostgreSQL。针对这些情况,C4 实例是理想选择。

  • C5 实例是下一代实例类型,可以以低廉的每计算比率为运行高级计算密集型工作负载提供经济高效的高性能。这包括高性能 Web 服务器、高性能计算 (HPC)、批处理、广告投放、高可扩展性多人游戏和视频编码。其他工作负载 C5 实例适合包括科学建模、分布式分析以及机器和深度学习推理。C5 实例可以选择英特尔和 AMD 的处理器。

  • R4 实例针对内存密集型工作负载优化了内存。使用持续迁移或复制高吞吐量事务系统Amazon DMS也可以占用大量 CPU 和内存。R4 实例的每个 vCPU 包含的内存大于前一代实例类型。

  • R5 实例是针对 Amazon EC2 的下一代内存优化型实例。R5 实例非常适合内存密集型应用程序,例如高性能数据库、分布式 Web 级内存缓存、中型内存中数据库、实时大数据分析以及其他企业级应用程序。使用持续迁移或复制高吞吐量事务系统Amazon DMS也可以占用大量 CPU 和内存。

每个复制实例都有特定的内存和 vCPU 配置。下表显示了各复制实例类型的配置。有关定价信息,请参阅Amazon Database Migration Service服务定价页.

复制实例类型

vCPU

内存 (GiB)

通用

dms.t2.micro

1

1

dms.t2.small

1

2

dms.t2.medium

2

4

dms.t2.large

2

8

dms.t3.micro

2

1

dms.t3.large

2

2

dms.t3.medium

2

4

dms.t3.large

2

8

计算优化

dms.c4.large

2

3.75

dms.c4.xlarge

4

7.5

dms.c4.2xlarge

8

15

dms.c4.4xlarge

16

30

dms.c5.large

2

4

dms.c5.xlarge

4

8

dms.c5.2xlarge

8

16

dms.c5.4xlarge

16

32

dms.c5.9xlarge

36

72

dms.c5.12xlarge

48

96

dms.c5.18xlarge

72

144

dms.c5.24xlarge

96

192

内存优化

dms.r4.large

2

15.25

dms.r4.xlarge

4

30.5

dms.r4.2xlarge

8

61

dms.r4.4xlarge

16

122

dms.r4.8xlarge

32

244

dms.r5.large

2

16

dms.r5.xlarge

4

32

dms.r5.2xlarge

8

64

dms.r5.4xlarge

16

128

dms.r5.8xlarge

32

256

dms.r5.12xlarge

48

384

dms.r5.16xlarge

64

512

dms.r5.24xlarge

96

768

决定要使用哪个实例类

为了帮助确定哪种复制实例类最适合您,我们来看看更改数据捕获 (CDC) 流程:Amazon DMS使用。

假设您运行的是完全加载加 CDC 任务(批量加载加持续复制)。在这种情况下,任务有自己的 SQLite 存储库来存储元数据和其他信息。优化前Amazon DMS启动满载时,将执行以下步骤:

  • Amazon DMS开始为其从源引擎的事务日志中迁移的表捕获更改(我们将其称为)缓存的更改)。完全加载完成后,将收集这些缓存的更改并将其应用于目标中。根据缓存更改的量,可以直接从内存中应用这些更改,最初在内存中收集更改,并一直收集到设定的阈值。或者,可以从内存中无法保存更改时将更改写入到的磁盘中应用更改。

  • 默认情况下,应用缓存的更改后Amazon DMS在目标实例上启动事务应用流程。

在应用缓存更改阶段和持续复制阶段,Amazon DMS使用两个流缓冲区,各一个用于传入和出站数据。Amazon DMS还使用了一个重要的组件称为分拣机,这是另一个内存缓冲区。下面是排序器组件的两个重要用法 (还有其他用法):

  • 它跟踪所有事务并确保只将相关事务转发至传出缓冲区。

  • 它确保按照与源中相同的提交顺序转发事务。

如您所见,该架构中有三个重要的内存缓冲区用于 CDCAmazon DMS. 如果任何缓冲区遇到内存压力,迁移可能会出现导致故障的性能问题。

在将每秒事务数 (TPS) 很高的重型工作负载插入此架构时,您会发现 R5 实例提供的额外内存非常有用。您可以使用 R5 实例在内存中保存大量事务,并可避免在持续复制期间出现内存压力问题。

使用无限模式处理可突增性能实例

一个突发性能实例配置为unlimited(例如 T3 实例)可以承受所需的任何时段的高 CPU 利用率。每小时实例价格可以自动覆盖所有 CPU 使用率峰值。如果在滚动 24 小时或实例生命周期(以较短者为准)内实例的平均 CPU 利用率等于或低于基准,则会执行此操作。

对于绝大多数通用型工作负载,配置为unlimited提供足够的性能,无需额外费用。如果实例长时间以较高的 CPU 利用率运行,可能会按每 vCPU 小时的固定费率收取额外的费用。有关 T3 实例定价的信息,请参阅中的 “T3 CPU 积分”Amazon Database Migration Service.

有关unlimitedT3 实例的模式,请参阅可突增性能实例的无限模式中的适用于 Linux 实例的 Amazon EC2 用户指南.

重要

如果您使用dms.t3.micro下面的实例Amazon免费套餐提供并在其中使用unlimited模式,可能会收取费用。特别是,在滚动 24 小时内的平均利用率超过实例的基准利用率时,您可能需要支付相应的费用。有关更多信息,请参阅 。基准利用率中的适用于 Linux 实例的 Amazon EC2 用户指南.

T3 实例默认情况下作为 unlimited 启动。如果滚动 24 小时内的平均 CPU 使用率超过基准,将会产生超额积分费用。在某些情况下,您可以使用 T3 竞价型实例启为unlimited并计划立即在短时间内使用它们。如果您没有空闲时间来累积 CPU 积分,则会产生超额积分的费用。建议您以标准模式启动 T3 Spot 实例,以避免支付更高的费用。有关更多信息,请参阅 。超额积分会产生费用T3 竞价型实例, 和可突增性能实例的标准模式中的适用于 Linux 实例的 Amazon EC2 用户指南.