全部產品
Search
文件中心

:關閉AOF落盤

更新時間:Oct 25, 2024

雲資料庫Tair(相容 Redis)執行個體預設開啟AOF落盤,即基於AOF(append-only file)的資料持久化。您可以通過設定appendonly參數來關閉或重新開啟AOF落盤。

AOF落盤

AOF持久化是執行個體除了RDB備份外的另一種持久化方式。開啟AOF持久化後,執行個體以日誌的形式記錄所有的寫入類操作,例如SET。服務重啟時,執行個體可以重新執行AOF檔案中的操作來恢複資料。當AOF檔案過大時,執行個體會自動執行AOF Rewrite,重組AOF檔案,降低其佔用的儲存空間。完全相容Redis

雲資料庫Tair(相容 Redis)的AOF持久化策略為AOF_FSYNC_EVERYSEC,系統每秒將接收到的寫入類命令記錄到AOF,儲存在磁碟中,因此又稱為AOF落盤。這種策略對執行個體服務效能的影響較小,同時也能極大地降低意外情況下的資料損失風險。同時執行個體還支援AOF增量歸檔,避免了AOF Rewrite對服務效能的影響。

AOF落盤會帶來一定寫效能損耗,如果將執行個體應用於純緩衝情境中,對資料持久化沒有需求,您可以按照本章節的說明,修改appendonly參數的值,關閉AOF落盤。

說明

AOF Rewrite觸發規則:AOF檔案大小超過執行個體記憶體的25%且相比上次Rewrite後(Base Rewrite)增長超過200%則觸發Rewrite(空執行個體的Base Rewrite值為1 Byte)。

AOF落盤狀態及其影響

  • 除Tair持久記憶體型以外,建立Tair(以及Redis開源版執行個體時,AOF落盤預設開啟。

  • appendonly的值從yes修改為no:

    • AOF落盤立即關閉,無需重啟執行個體。

    • 後續無法通過AOF檔案恢複資料。

    • 已有的AOF日誌不受影響。

    • 標準版執行個體中僅主節點的AOF落盤關閉,replica不受影響。

    • 叢集版執行個體中所有資料分區的主節點均關閉AOF落盤,所有從節點不受影響。

    • 讀寫分離版執行個體中主節點與所有隻讀副本的AOF落盤關閉,從節點不受影響。

    • 雙副本執行個體,關閉AOF(實際上是關閉了主庫上的AOF)能夠減少Rewrite對時延的影響,但是會少一份資料的保障。

  • appendonly的值從no修改為yes:

    • AOF落盤立即開啟,無需重啟執行個體。

    • 開啟AOF後會定期將AOF產生的檔案壓縮(Rewrite),而在fork壓縮排程工作時會有幾十毫秒甚至一百多毫秒的抖動,這個時間與執行個體的記憶體使用量量有關(Linux或Unix在fork時拷貝頁表的時延)。

適用情境

  • 若您的執行個體開啟了AOF持久化功能,出現由fork、aof_write耗時間長度,影響到業務的情況,建議您關閉AOF功能。

  • 若您的執行個體作為Cache類應用,建議您關閉AOF功能。

警告

如果使用的是Tair(企業版),且開通了DTS跨域多活服務或者資料閃回(任意時間點進行資料恢複),則不能關閉AOF。

操作步驟

  1. 訪問執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列中,單擊參數設定

  3. 在參數列表中,單擊appendonly右側操作列的修改

  4. 在彈出的對話方塊中完成以下步驟。

    1. 選擇appendonly的值。

      可選值:

      • yes(開啟AOF落盤)

      • no(關閉AOF落盤)

    2. 單擊確定

相關API

API介面

說明

DescribeParameters

查詢執行個體的配置參數和運行參數。

ModifyInstanceConfig

修改執行個體的參數配置。