跳至內容

什麼是交換檔案,為什麼這些檔案會佔用我 AWS DMS 執行個體的空間?

1 分的閱讀內容
0

AWS Database Migration Service (AWS DMS) 正在產生交換檔案,並佔用我資料庫執行個體的儲存空間。我想知道什麼是交換檔案,以及如何減少交換檔案的產生。

簡短說明

SOURCE_CAPTURE 程序的產生速度比 TARGET_APPLY 元件更快時,SORTER 元件會將積壓事件快取到磁碟或交換檔案中。或者,當長交易超過最大記憶體分配 (MemoryLimitTotal) 和時間 (MemoryKeepTime) 時,記憶體中的交易或交換檔案將移至複寫執行個體磁碟。

**注意:**交換檔案不同於作業系統 (OS) 在伺服器記憶體不足時建立的交換檔案。因此,該資料不包含在 Amazon CloudWatch 中的 SwapUsage 指標中。

解決方法

您可能會在任務日誌中看到類似以下內容的訊息:

「[SORTER ]I: 已暫停從來源讀取。交換檔案使用的總儲存空間超過了限制 1048576000 位元組 (sorter_transaction.c:110) 00000849: 2021-04-28T07:19:20:987696 [SORTER ]: 已恢復從來源讀取 (sorter_transaction.c:116)]」

AWS DMS 版本 3.4.2 及更新版本包含可防止儲存空間已滿的功能。此功能可設定複寫執行個體的儲存磁碟區上,可以擁有的最大交換檔案數量。當 SORTER 元件使用的交換檔案達到最大大小 1 GB 時,您就會收到上述訊息。

當達到配額時,SORTER 元件會暫停來源擷取。然後,AWS DMS 會將交換檔案中的變更套用到目標資料庫。在 DMS 套用交換的變更或交換檔案小於 1 GB 後,AWS DMS 將恢復來源擷取

注意:當 AWS DMS 套用變更時,任務會繼續執行。SORTER 元件只會暫停來源擷取

減少交換檔案的產生

為了減少或避免在 AWS DMS 執行個體上產生交換檔案,請檢查 AWS DMS 任務中導致目標延遲高的原因。

若要改善 TARGET_APPLY,請根據您的引擎類型使用批次套用模式ParallelApplyThreads

如果您在來源處遇到長時間執行的交易,請在來源資料庫中使用頻繁提交。

當複寫執行個體具有可用記憶體時,請增加 MemoryLimitTotalMemoryKeepTime,這樣變更可以在記憶體中停留更長的時間,直到變更交換到磁碟上。確保增加兩個參數,以便 SORTER 元件不會達到配額。

相關資訊

變更程序調整設定

AWS 官方已更新 1 年前