全部產品
Search
文件中心

:修改延遲閾值和讀權重分配

更新時間:Jun 19, 2024

開通了讀寫分離功能後,您可以根據需求修改讀寫分離的延遲閾值和讀權重分配。

更多詳情請參見讀寫分離參數說明

本文僅適用於開通共用代理模式的執行個體。非共用代理模式的使用者請參見什麼是資料庫代理

操作步驟

  1. 登入RDS管理主控台
  2. 在頁面左上方,選擇執行個體所在地區。選擇地區
  3. 找到目標執行個體,單擊執行個體ID。
  4. 在左側導覽列中單擊資料庫連接資料庫代理
  5. 選擇讀寫分離標籤頁。
  6. 單擊設定讀寫分離,修改設定資訊。
    表 1. 讀寫分離參數說明
    參數說明
    延遲閾值唯讀執行個體同步主執行個體資料時允許的最長延遲時間。為避免唯讀執行個體讀取的資料長時間和主執行個體不一致,當一個唯讀執行個體的延遲時間超過設定的延遲閾值,則不論該唯讀執行個體的讀權重是多少,讀請求都不會轉寄至該唯讀執行個體。

    取值範圍為0秒到7200秒。受限於SQL的執行情況,唯讀執行個體有一定的幾率會出現延遲,建議該值不小於30秒。

    讀權重分配執行個體的讀權重越高,處理的讀請求越多。例如,1個主執行個體和3個唯讀執行個體的讀權重分別為0、100、200、0,則表示主執行個體不處理讀請求(寫請求仍然自動發往主執行個體),前兩個唯讀執行個體按照1:2的比例處理讀請求,第三個唯讀執行個體不會收到任何讀寫請求。
    • 系統分配:系統根據執行個體規格自動分配各個執行個體的讀權重。後續該主執行個體下新增的唯讀執行個體也會自動按照系統分配的權重加入到讀寫分離鏈路中,無需手動設定。更多資訊請參見系統預設讀權重分配規則
    • 自訂:手動設定各個執行個體的讀權重,範圍為0至10000。後續該主執行個體下新增唯讀執行個體的讀權重預設為0,需要您手動修改。
    說明
    • 若唯讀執行個體被刪除,則該執行個體的權重會被自動移除,其他執行個體權重不變。
    • 不支援為已經設定唯讀執行個體延時複製時間的執行個體設定權重。
  7. 單擊確定

下一步(可選)

常見問題

  • 唯讀執行個體的讀權重設定為0後,還可以訪問它嗎?

    通過讀寫分離地址無法訪問讀權重為0的唯讀執行個體,只能使用唯讀執行個體的內網/外網地址進行訪問。通常這種需求是為了將某個唯讀執行個體僅提供給某個業務使用。

  • 為什麼修改後的權重沒有生效 ?

    修改權重後,建立的串連才會根據新權重進行分配,已存在的串連不會斷開重連。

  • 為什麼各節點的負載不符合配置的讀權重?

    若各節點的負載與配置的讀權重不同,主要檢查如下兩個方面:

    • 請求語句是否包含了事務。包含了事務的所有請求只會路由到主庫(包括事務讀)。
    • 是否只用了讀寫分離地址串連資料庫。如果使用了主執行個體地址或者唯讀執行個體地址,這些地址收到的請求不會按權重分配。
  • 為什麼主庫讀權重為0時還有大量讀請求路由到主庫?

    若讀請求路由到主庫,主要由如下兩個原因造成:

    • 包含了事務的所有請求只會路由到主庫(包括事務讀)。
    • 所有被分配讀權重的唯讀執行個體處於不可用狀態或其延遲時間超過了您所設定的延遲閾值,系統將其判定為不可用狀態。

相關文檔

讀寫分離常見問題

相關API

API描述
修改讀權重和延遲閾值修改RDS執行個體延遲閾值和讀權重。