本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为您的迁移选择正确的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 实例可以随时可按需可实例可随时可连增性能所需的
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.small |
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 |
决定使用哪个实例类
为了帮助确定哪种复制实例类可能最适合您,让我们看一下Amazon DMS使用的变更数据捕获 (CDC) 流程。
假设您运行的是完全加载加 CDC 任务(批量加载加持续复制)。在这种情况下,任务有自己的 SQLite 存储库来存储元数据和其他信息。在Amazon DMS开始满载之前,会执行以下步骤:
-
Amazon DMS开始从源引擎的事务日志中捕获正在迁移的表的更改(我们称之为缓存的更改)。完全加载完成后,将收集这些缓存的更改并将其应用于目标中。根据缓存更改的量,可以直接从内存中应用这些更改,最初在内存中收集更改,并一直收集到设定的阈值。或者可以从磁盘应用它们,当更改无法保存在内存中时,就会在磁盘中写入更改。
-
应用缓存的更改后,默认情况下Amazon DMS会在目标实例上启动事务应用进程。
在应用的缓存更改阶段和正在进行的复制阶段,Amazon DMS使用两个流缓冲区,一个用于传入和传出数据。 Amazon DMS还使用了一个称为分拣器的重要组件,它是另一个内存缓冲区。下面是排序器组件的两个重要用法 (还有其他用法):
-
它跟踪所有事务并确保只将相关事务转发至传出缓冲区。
-
它确保按照与源中相同的提交顺序转发事务。
如您所见,在此架构中,我们为 CDC 提供了三个重要的内存缓冲区Amazon DMS。如果任何缓冲区遇到内存压力,迁移可能会出现导致故障的性能问题。
当您将具有高每秒事务数 (TPS) 的繁重工作负载插入此架构时,您会发现 R5 实例提供的额外内存很有用。您可以使用 R5 实例在内存中保存大量事务,并防止正在进行的复制期间出现内存压力问题。
可实例使用无限模式
配置为的可突增性能实例(如 T3 实例)可以承受所需的任何时段的高 CPU 利用率。unlimited
每小时实例价格可以自动涵盖所有 CPU 使用率峰值。如果在滚动 24 小时或实例生命周期(以较短者为准)内实例的平均 CPU 利用率等于或低于基准,则会这样做。
对于绝大多数通用型工作负载,配置为的实例可unlimited
提供足够的性能,而不会收取任何额外的费用。如果实例长时间以较高的 CPU 利用率运行,可能会按每 vCPU 小时的固定费率收取额外的费用。有关 T3 实例定价的信息,请参阅中的 “T3 CPU 积分” Amazon Database Migration Service
有关 T3 实例unlimited
模式的更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例)中的具爆发能力的实例的无限模式。
如果您使用Amazon免费套餐dms.t3.micro
实例并在unlimited
模式下使用该实例,则可能会收取费用。特别是,如果您在滚动 24 小时内的平均利用率超过实例的基准利用率,则可能需要支付相应费用。有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例)中的基准利用率。
T3 实例默认情况下作为 unlimited
启动。如果滚动 24 小时内的平均 CPU 使用率超过基准,将会产生超额积分费用。在某些情况下,您可以模式启动 T3 Spot 实例unlimited
并计划立即短时间使用它们。如果您这样做没有空闲时间来累积 CPU 积分,则会产生超额分费用。建议您以标准模式启动 T3 Spot 实例,以避免支付更高的费用。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的剩余积分可能会产生费用、T3 竞价型实例和突发性能实例的标准模式。