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

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

选择正确的AmazonDMS 复制实例

Amazon DMS可在 Amazon EC2 实例上创建复制实例。Amazon DMS目前支持将 T2、T3、C4、C4、C4 和 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.2 x 大

8

16

dms.c5.4 x 大

16

32

dms.c59 x 大

36

72

dms.c5.12 x 大

48

96

dms.c5.18 x 大

72

144

dms.c5.24 x 大

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.2 x 大

8

64

dms.r5.4 x 大

16

128

dms.r58 x 大

32

256

dms.r5.12 x 大

48

384

dms.r5.16 倍大

64

512

管理员 .r5.24 倍大

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 使用率峰值。如果实例的平均 CPU 利用率在滚动 24 小时或实例生命周期(以较短者为准)内等于或低于基准,则会执行此操作。

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

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

重要

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

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