本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
选择复制实例的最佳大小
如何选择合适的复制实例取决于与您的使用案例相关的多种因素。为帮助您了解如何使用复制实例资源,请参阅以下讨论。它涵盖了满负荷+ CDC 任务的常见场景。
在满载任务期间,单独 Amazon DMS 加载表。默认情况下,一次加载八个表。 Amazon DMS 捕获满载任务期间对源的持续更改,以便稍后可以在目标端点上应用更改。更改缓存在内存中;如果可用内存用完,则将更改缓存到磁盘上。当表的满载任务完成后,会 Amazon DMS 立即将缓存的更改应用于目标表。
在应用表的所有未完成的缓存更改后,目标终端节点将处于事务一致状态。此时,目标与源端点在上次缓存的更改方面保持同步。 Amazon DMS 然后开始在源和目标之间进行持续复制。为此, Amazon DMS 需要从源事务日志中进行更改操作,并以事务一致的方式将其应用于目标。(此过程假设未选择批量优化应用)。 Amazon DMS 如果可能,将正在进行的更改流式传输到复制实例上的内存。否则, Amazon DMS 会将更改写入复制实例上的磁盘,直到它们可以应用到目标上。
您对复制实例如何应对更改处理以及在该流程中如何使用内存有一定的控制能力。有关如何优化更改处理的更多信息,请参阅更改处理优化设置。
需要考虑的因素
内存和磁盘空间是为使用案例选择合适的复制实例的关键因素。接下来,您可以找到有关使用案例特征的讨论,用于分析和选择复制实例。
-
数据库和表大小
数据卷有助于确定可优化完全加载性能的任务配置。例如,对于两个 1 TB 的架构,您可以将表分成四个 500 GB 的任务,然后并行运行这些表。可能的并行度取决于复制实例中的可用CPU资源。因此,最好了解数据库和表的大小以优化完全加载性能。它有助于确定您可以执行的任务数。
-
大型对象
迁移范围内涵盖的数据类型可能会影响性能。特别是,大型对象 (LOBs) 会影响性能和内存消耗。要迁移LOB值,请 Amazon DMS 执行两步过程。首先,将不带LOB值的行 Amazon DMS 插入到目标中。其次,用LOB值 Amazon DMS 更新行。这会对内存产生影响,因此识别源中的LOB列并分析其大小非常重要。
-
加载频率和事务大小
加载频率和每秒事务数 (TPS) 会影响内存使用量。大量的TPS或数据操纵语言 (DML) 活动会导致内存使用率高。之所以发生这种情况,是因为会DMS缓存更改,直到它们应用于目标。在此期间CDC,这会导致交换(由于内存溢出而写入物理磁盘),从而导致延迟。
-
表键和引用完整性
有关表键的信息决定了您用于迁移数据的CDC模式(批量应用或事务应用)。通常,事务应用比批量应用慢。对于长时间运行的事务,可能需要迁移许多更改。使用事务性应用时,与批处理应用相比, Amazon DMS 可能需要更多的内存来存储更改。如果迁移没有主键的表,则批处理应用将失败,DMS任务将移至事务性应用模式。当在表之间启用引用完整性时CDC,默认 Amazon DMS 情况下使用事务性应用。有关批处理应用与事务应用相比的更多信息,请参阅如何使用DMS批处理应用功能来提高CDC复制性能
? 。
使用这些指标来确定您需要对复制实例进行计算优化还是内存优化。
常见问题
在迁移过程中,您可能会遇到以下导致复制实例资源争用的常见问题。有关复制实例指标的信息,请参阅复制实例指标。
-
如果复制实例的内存不足,则会导致向磁盘写入数据。从磁盘读取数据可能会导致延迟,您可以通过使用足够的内存调整复制实例的大小来避免延迟。
-
分配给复制实例的磁盘大小可以小于所需的容量。当内存中的数据溢出时,会使用磁盘大小;它也用于存储任务日志。最大值也IOPS取决于它。
-
运行多个任务或并行度高的任务会影响复制实例的CPU消耗。这会减慢任务的处理速度并导致延迟。
最佳实践
在调整复制实例规模时,请考虑这两种最常见的最佳做法。有关更多信息,请参阅 Amazon Database Migration Service 的最佳做法。
-
调整工作负载大小,了解工作负载是计算机密集型还是内存密集型。在此基础上,您可以确定复制实例的类和大小:
-
Amazon DMS 内存LOBs中的进程。此操作需要占用相当多的内存。
-
任务数量和线程数会影响CPU消耗。在完全加载运行期间,避免使用超过八个
MaxFullLoadSubTasks
。
-
-
当您在完全加载期间工作负载较高时,请增加分配给复制实例的磁盘空间。这样做可以让复制实例使用IOPS分配给它的最大值。
前面的准则并未涵盖所有可能的场景。在确定复制实例的大小时,考虑特定使用案例的具体细节至关重要。
前面的测试显示CPU,内存会随着工作负载的不同而变化。特别是,LOBs会影响内存,任务计数或并行度会影响。CPU迁移运行后,监控复制实例的可可用内存、可用存储空间和IOPS可用存储空间。CPU根据您收集的数据,您可以视根据增加或减小复制实例的大小。