PolarDB-X 1.0平滑擴容是指通過增加私有定制RDS實例的數(shù)量以提升整體性能。當(dāng)私有定制RDS的IOPS、CPU、磁盤容量等指標(biāo)到達瓶頸,并且通過SQL優(yōu)化或私有定制RDS升配已無法解決瓶頸(例如磁盤已升至頂配)時,可通過PolarDB-X 1.0水平擴容功能增加私有定制RDS實例的數(shù)量,提升PolarDB-X 1.0數(shù)據(jù)庫的容量。

PolarDB-X 1.0平滑擴容通過遷移分庫到新私有定制RDS來降低原私有定制RDS的壓力。例如,擴容前8個庫的壓力集中在一個私有定制RDS實例上,擴容后8個庫分別部署在兩個私有定制RDS實例上,單個私有定制RDS實例的壓力就明顯降低。

說明 平滑擴容多次后,如果出現(xiàn)私有定制RDS數(shù)量和分庫數(shù)量相等的情況,需要創(chuàng)建另外一個PolarDB-X 1.0和預(yù)期容量私有定制RDS的數(shù)據(jù)庫,再進行數(shù)據(jù)遷移以達到更大規(guī)模數(shù)據(jù)容量擴展的目標(biāo)。此過程較復(fù)雜,推薦創(chuàng)建PolarDB-X 1.0數(shù)據(jù)庫時要考慮未來2~3年數(shù)據(jù)的增長預(yù)期,做好私有定制RDS數(shù)量規(guī)劃。

判斷是否需要平滑擴容

您可以通過觀察私有定制RDS的IOPS、CPU、磁盤空間這三個指標(biāo),來判斷是否需要對PolarDB-X 1.0進行平滑擴容。

在RDS控制臺也可以針對這些指標(biāo)設(shè)置專門的報警項,報警策略及默認閾值見下圖。

456789

CPU及IOPS指標(biāo)

RDS平臺CPU監(jiān)控信息。

RDS對IO的頻率做了限制,體現(xiàn)在IOPS這個指標(biāo)上。

對于以上兩個指標(biāo),如果發(fā)現(xiàn)任何一個指標(biāo)長期保持在80%以上或頻繁收到報警信息,請考慮通過以下步驟來解決:

  1. 嘗試SQL優(yōu)化,CPU使用率過高的問題通常都可以通過這一步解決。

  2. SQL優(yōu)化無法解決問題時,可以升高RDS的相關(guān)規(guī)格
  3. 當(dāng)CPU和IOPS超標(biāo)時,可以通過設(shè)置只讀庫的方式來分擔(dān)主庫負荷。注意讀寫分離會影響讀一致性。
  4. 當(dāng)以上步驟無法很好地解決問題時,請考慮進行PolarDB-X 1.0擴容。

磁盤空間

RDS的磁盤空間有以下幾種:

  1. 數(shù)據(jù)空間:數(shù)據(jù)所占用的空間。隨著數(shù)據(jù)的插入,空間占用量會一直增長。磁盤存儲容量的余量建議保持在30%以上。
  2. 系統(tǒng)文件空間:包括共享表空間、錯誤日志文件等。
  3. Binlog文件空間:這是數(shù)據(jù)庫運行過程中產(chǎn)生的空間。更新事務(wù)越多,空間占用量就越大。

判斷是否需要擴容主要關(guān)注數(shù)據(jù)空間即可。當(dāng)數(shù)據(jù)空間將要或預(yù)期要超出磁盤容量時,可以通過擴容的方式將數(shù)據(jù)分散到多個RDS。

擴容風(fēng)險及注意事項

PolarDB-X 1.0擴容流程分為配置>遷移>切換>清理四個步驟。

在擴容前請注意以下事項:

  • 如果需要新增5個或5個以上RDS實例,需要事先聯(lián)系我們,以防后端遷移資源不足造成遷移不成功。
  • 源RDS實例擴容過程中會有讀壓力,請盡量在源RDS低負載時操作。
  • 擴容期間請勿在控制臺提交DDL任務(wù)或連接PolarDB-X 1.0直接執(zhí)行DDL SQL,否則會導(dǎo)致擴容任務(wù)失敗。
  • 擴容需要源庫表中有主鍵,如果沒有需要事先加好主鍵。
  • 擴容的切換動作會將讀寫流量切換到新增的RDS上,切換過程大約持續(xù)3~5分鐘,建議在停業(yè)務(wù)的情況下進行切換。
  • 在執(zhí)行切換前,擴容動作不會對PolarDB-X 1.0產(chǎn)生任何影響。因此在切換前都可以通過回滾來放棄本次擴容。
  • 擴容操作對數(shù)據(jù)庫有一定壓力,建議在業(yè)務(wù)低谷期操作。