全部產品
Search
文件中心

ApsaraDB RDS:空間片段自動回收

更新時間:Sep 20, 2024

資料庫自治服務DAS(Database Autonomy Service)為RDS MySQL提供空間片段自動回收功能,是空間自動最佳化的一種方式,開啟該功能後,主執行個體會自動執行Optimize Table或Alter Table命令來回收資料表空間片段,協助您整理物理空間片段。

前提條件

  • 執行個體為如下版本,且已成功建立14天或以上:

    • RDS MySQL 8.0 高可用版、三節點企業版

    • RDS MySQL 5.7 高可用版、三節點企業版

    • RDS MySQL 5.6 高可用版

  • 執行個體CPU規格不小於4核。

  • 執行個體物理表必須是InnoDB引擎。

  • 執行個體已開啟DAS企業版,詳情請參見DAS企業版

背景資訊

產生資料表空間片段的常見原因:

  • 記錄被Delete,且原空間無法複用。

  • 記錄被Update(通常出現在變長欄位中),原空間無法複用。

  • 記錄插入導致頁分裂,頁的填充率降低。

最佳化前的檢查項

DAS在主執行個體上執行Optimize Table或Alter Table命令來回收資料表空間片段。執行空間片段自動回收操作前,為了減少對資料庫效能和空間的影響,DAS會自動對資料庫進行如下檢查。只有在通過檢測後,才會進行空間片段自動回收

  • 如下檢查項如有任何一項未通過,對應表的空間片段自動回收操作將立即停止。

    • 執行個體剩餘可用空間至少是需回收表的物理空間的3倍。

      說明

      例如:需回收的表Table_1,該表的物理空間為30 GB,那麼資料庫需要有90 GB的剩餘可用空間。

    • 表上無全文索引(FULLTEXT)。

  • 如下檢查項如有任何一項未通過,會等待1至5分鐘再進行檢查。如果整個可維護時間段內都未通過檢查,DAS會在下個可維護時間段內繼續進行檢查,直至檢查通過,然後執行空間片段自動回收

    • 執行個體上沒有正在執行的備份任務。

    • 沒有正在執行的表結構變更操作。

    • 查看執行個體的CPU使用率,預估空間片段自動回收需花費的時間,確保前一天和上周同一時間段的CPU使用率低於70%,且執行前的CPU使用率低於80%。

      說明

      例如:表的物理空間為90 GB,預計空間片段回收需花費30分鐘,並且計劃12月10號淩晨3點執行,那麼需確認如下資訊:

      • 2020-12-9 03:00至03:30的CPU使用率需小於70%。

      • 2020-12-3 03:00至03:30的CPU使用率需小於70%。

      • 2020-12-10 03:00的CPU使用率需小於80%。

    • 需片段回收的表上,沒有執行時間超過3秒的SQL。

    • 無懸掛事務(持有鎖但是超過15秒未提交的事務)。

    • 執行個體活躍會話數小於64。

說明

如果未通過檢查,無法使用空間片段自動回收功能,您可以手動執行Optimize Table命令回收資料表空間片段,詳情請參見使用“optimize table”命令釋放MySQL執行個體的資料表空間

操作步驟

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

  2. 進入自治功能管理頁面。

    • 在左側導覽列中,選擇自治服務 > 一鍵診斷 > 自治中心。在自治中心頁,單擊自治功能開關

    • 在左側導覽列中,選擇自治服務 > 效能趨勢。在效能趨勢頁,單擊自治功能開關

  3. 自治功能管理 > 自治功能設定頁簽中,開啟自治功能開關,並在最佳化和限流頁簽勾選空間片段自動回收

  4. 開啟空間片段自動回收後,設定以下參數,單擊確定

    重要

    當資料庫執行個體空間狀態達到設定的閾值時,DAS將在資料庫執行個體的可維護時間段內進行空間片段自動回收。

    參數

    說明

    資料表空間大於

    觸發空間片段自動回收單個物理表的最小空間,取值範圍:5 GB~100 GB,預設為10 GB。

    單資料表空間過大會導致回收時間長,請根據實際業務情況選擇合適的數值。

    說明

    如果資料庫執行個體上所有的資料表空間均小於5 GB,或者所有的資料表空間均大於100 GB,那麼系統不會進行空間片段回收。

    片段率大於

    觸發空間片段自動回收單個物理表的片段率,取值範圍:10%~99%,預設為20%。

    片段率過大會降低空間最佳化頻率,請根據實際業務情況選擇合適的數值。

    說明

    如果資料庫執行個體上所有表的片段率均低於10%,那麼系統不會進行空間片段回收。

    說明

    例如資料表空間取值為5 GB,片段率取值為10%時,所有資料表空間大於等於5 GB,小於等於100 GB,且片段率大於等於10%的表,都會觸發空間片段自動回收。

  5. (可選)配置警示模板進行警示訂閱,以便及時瞭解資料庫執行個體的空間片段自動回收情況。

    系統會推薦警示模板並添加對應自治事件的警示規則,您可以依照系統提示進行配置。

    說明
    • 如果您已經為執行個體配置了警示模板,請依照系統提示,在警示模板添加對應自治事件的警示規則。

    • 如果您需要自行設定警示模板和警示規則,請參見配置警示模板配置警示規則

    1. 選擇需要警示通知的警示聯絡組

      • 單擊新增連絡人...,添加新的警示連絡人。

      • 單擊新增聯絡組,添加新的警示聯絡組。

      • 單擊目標連絡人後的修改移除,修改或刪除已有連絡人的資訊。

      詳細操作請參見管理警示連絡人

    2. 確認關聯資源

    3. 單擊提交配置,並在彈出的對話方塊中確認警示配置。