簡體   English   中英

如何優化 AWS DMS MySql Aurora 到 Redshift 復制?

[英]How to optimize AWS DMS MySql Aurora to Redshift replication?

我一直在使用 AWS DMS 執行從 MySql Aurora 到 Redshift 的持續復制。 但是,正在進行的復制在目標上造成恆定 25-30% 的 CPU 負載。 這是因為它會在 S3 上生成許多小文件並不間斷地加載/處理它們。 Redshift 並不是真正為處理大量小任務而設計的。

為了優化,我已經做到了這個過程在每小時開始時開始,等到目標同步,然后停止。 因此,它不是連續工作,而是在每小時開始時工作 5-8 分鍾。 即便如此,它仍然非常緩慢且未優化,因為它仍然需要處理數百個小型 s3 文件,而且時間跨度更短。

這可以進一步優化嗎? 有沒有辦法告訴 DMS 在更長的時間內緩沖這些更改,而不是生成更少的更大的文件而不是許多小的 s3 文件? 我們真的不介意有更高的目標延遲。

Aurora 和 Redshift 之間傳輸的數據量相當小。 每小時大約有 2 萬次更改,我們使用的是 4 節點 dc1.large redshift 集群。 它應該能夠在幾秒鍾而不是幾分鍾內處理那些 20K 的變化

也許,您可以嘗試 BatchApplyTimeoutMin 和 BatchApplyTimeoutMax。 https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html

BatchApplyTimeoutMin 設置 AWS DMS 在每個批量更改應用程序之間等待的最短時間(以秒為單位)。 默認值為 1。

您可以將值更改為 1200,甚至 3600。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM