2

我们已经运行这个 DMS 复制实例大约 2 个月了,有时它会由于以下错误而失败:

Last Error Replication task out of memory. Stop Reason FATAL_ERROR Error Level FATAL.

只有 1 个任务正在运行,它full Load + ongoing changes从 RDS Postgres 中的 5 个表(约 5M 行)捕获到 S3 存储桶中。复制实例dms.r5.xlarge在 DMS 版本 3.4.3 上。每次失败我们只是升级实例大小(根据网上看到的解决方案),但我担心这个问题会一直存在。

根据 cloudwatch 指标,可用内存、可释放内存和可用内存都随着时间的推移而减少,直到崩溃。交换使用量始终保持为零,直到它崩溃之前达到峰值。

可释放内存

有人知道这可能是什么吗,我们只是使用了太小的实例大小吗?我觉得我们的配置非常基础。

4

1 回答 1

0

查看以下文章可能会很好:

https://aws.amazon.com/blogs/database/debugging-your-aws-dms-migrations-what-to-do-when-things-go-wrong-part-1/

通常,正在进行的复制是一种内存密集型操作。您可能需要适当增加复制实例的内存占用量。

建议的另一个策略是跨多个复制实例分解复制,因为您有 5 个表,您可能会创建一组较小的复制实例,每个实例处理单个或较小的一组表。

于 2021-03-22T00:26:58.403 回答