上次更新时间:2021 年 2 月 16 日
我的 AWS Database Migration Service (AWS DMS) 任务卡滞或没有进展。如何排查我的任务没有进展的原因?
简短描述尽管 AWS DMS 任务极少卡滞,但有时它们的进度可能会很慢。按照本文中的步骤检查 DMS 任务中的数据是否已从源迁移到目标。
解决方法 检查 AWS DMS 任务的状态使用下面的步骤检查 DMS 任务的状态。
-
登录 AWS DMS 控制台。
从导航窗格中,选择 Database migration tasks(数据库迁移任务)。
检查任务的状态。状态应当如下:
在完整加载阶段,任务状态应为 Running(正在运行)。
在仅限 CDC 的任务的更改数据捕获 (CDC) 阶段或持续复制阶段,任务状态应为 Replication ongoing(正在进行复制)。
在完整加载和 CDC 期间,任务状态应为 Load complete, replication ongoing(加载完成,正在进行复制)。
通过监控 Amazon CloudWatch logs 来检查迁移任务。
-
登录 AWS DMS 控制台。
从导航窗格中,选择 Database migration tasks(数据库迁移任务),然后选择您的任务。
选择 View CloudWatch logs(查看 CloudWatch logs)。这会将您重定向到 AWS CloudWatch 控制台,在该控制台中您可以监控任务的日志。
注意:查看日志时,选择 Retry(重试)以刷新日志并显示带时间戳的最新信息。如果五分钟后在日志中看不到新消息,请继续执行下一步。
刷新 DMS 任务的表统计数据刷新 AWS DMS 任务的表统计数据。
-
登录 AWS DMS 控制台。
从导航窗格中,选择 Database migration tasks(数据库迁移任务),然后选择您的任务。
选择 Table statistics(表统计数据)。
在完整加载期间,您可以看到 Full Load rows(完整加载行)的值升高以及 Load state value(加载状态值)变化。在持续复制 (CDC) 期间,您可以看到 DML(插入、更新和删除)和 DDL 增加。
如果您的测试数据库活动极少,则可能在任务日志或表统计计数器中看不到任何变化。
监控关于行卸载和应用的 CloudWatch 指标-
登录 AWS DMS 控制台。
从导航窗格中,选择 Database migration tasks(数据库迁移任务),然后选择您的任务。
选择 CloudWatch metrics(CloudWatch 指标)。此操作会将您重定向到 CloudWatch 控制台。
在 DMS 任务的完整加载阶段,使用 CloudWatch 监控以下指标:
-
从 CloudWatch 控制台的下拉列表中选择 Full load(完整加载)。
监控 FullLoadThroughputRowsSource 指标。此指标详细描绘了 AWS DMS 在完整加载阶段将源数据卸载到复制实例的速率。
监控 FullLoadThroughputRowsTarget。此指标显示行离开复制实例以提交到目标的速率。
在 CDC 阶段,使用 CloudWatch 监控以下指标:
-
从 CloudWatch 控制台的下拉列表中选择 CDC。
监控 CDCThroughputRowsSource 指标。此指标详细描绘了在 CDC 阶段从源捕获更改并移动到复制实例的速率。
监控 CDCThroughputRowsTarget。 此指标显示了更改从复制实例移动到目标实例的速率。
监控 CDCLatencySource 指标。此指标显示了源与复制实例之间的延迟(单位为秒)。
监控 CDCLatencyTarget 指标。此指标显示了复制实例与目标之间的延迟(单位为秒)。
您还可以按特定间隔时间查询目标上的记录计数,以确认数据正在迁移到目标。此间隔时间取决于源、目标和复制实例上的负载以及单个记录中的数据量。
如果您在 DMS 任务上看不到延迟,且任务日志中没有出现新日志消息,请启用调试日志记录。确保在任务运行时执行此操作,然后监控 DMS 任务的 Amazon Cloud Watch 日志。
注意:最佳做法是仅在主动排查任务故障时短时间启用调试日志记录。如果启用调试日志记录的时间较长,复制实例磁盘空间可能会迅速填满,并影响数据库实例上正在运行的任务。