全部產品
Search
文件中心

ApsaraDB RDS:修改最大串連數

更新時間:Mar 20, 2025

本文介紹如何修改RDS MySQL執行個體的最大串連數。

背景

為滿足高並發串連業務需求,提升執行個體效能,RDS MySQL執行個體支援使用者修改最大串連數參數。可以在RDS控制台上修改該參數,也可以調用API介面修改該參數。

應用情境

在Business Connectivity數變化較大時,可以根據業務需要調整最大串連數。例如,採用短串連模式的遊戲應用,在開通服務或版本更新時,短時間內串連數請求量飆升,此時可以根據業務情況調整最大串連數參數,以滿足串連數增加的需求。

參數含義

最大串連數參數包含以下兩個參數:

  • max_user_connections:使用者最大串連數,表示任意一個帳號的串連數上限,設定範圍為[10~208000]。如果同一個帳號的串連數超過上限,系統會報錯has more than 'max_user_connections'has exceeded the 'max_user_connections',新的串連將無法建立。

  • max_connections:最大串連數,表示所有帳號串連數之和的上限,設定範圍為[1~208000]。如果總串連數超出上限,系統會報錯too many connections,新的串連將無法建立。

影響

串連佔用記憶體,串連數越大,消耗執行個體資源就越多,您需謹慎設定。如果max_connections設定過大,容易造成記憶體溢出。因此,推薦使用執行個體當前規格預設的最大串連數值,避免因串連數配置超過實際執行個體的負載承受能力範圍而影響執行個體的穩定性。

注意事項

  • 修改max_connections參數取值後,在RDS控制台執行個體的參數設定頁的運行參數值列顯示的值會大於實際設定的值,因為該值包含了管控所需的預留串連數。而在執行個體的基本資料頁展示的最大串連數與設定的值相同。

  • 重啟執行個體時,max_connections參數上限會受open_files_limit參數影響,此時max_connections參數實際運行值為min{(open_files_limit - 810),(使用者自訂值或者執行個體當前規格所推薦的最大串連數+管控預留串連數)}

    open_files_limit的預設值為655350,因此,當max_connections參數設定大於654540(包含管控預留串連數)時,為避免執行個體重啟時max_connections參數受open_files_limit影響,建議您在控制台同時調整open_files_limit參數。open_files_limit參數為靜態參數,需要重啟執行個體才會生效。

在控制台修改最大串連數

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

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

  3. 可修改參數頁簽的max_user_connectionsmax_connections參數的運行參數值列,單擊image表徵圖,在彈出的對話方塊中修改參數值,完成後單擊確定

  4. 單擊提交參數,在彈出的對話方塊中,選擇生效的時間段,完成後單擊確定

    說明

    修改max_user_connectionsmax_connections參數,可以立即生效且不用重啟執行個體。

調用API介面修改最大串連數

請求樣本

本樣本調用ModifyParameter介面將max_connections和max_user_connections參數修改為2000和500。

http(s)://rds.aliyuncs.com/?Action=ModifyParameter
&DBInstanceId=rm-gs5v9xajylz45****
&Parameters={"max_connections":"2000","max_user_connections":"500"}
&<公用請求參數>

JSON格式返回結果

HTTP/1.1 200 OK
Content-Type:application/json
{
  "RequestId" : "542BB8D6-4268-45CC-A557-B03EFD7AB30A"
  } 

驗證修改結果

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

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

  3. 參數修改歷史頁簽內查看修改的最大串連數參數值已生效。

    image

常見問題

  • Q:沒有修改最大串連數max_connections前,為什麼在RDS控制台執行個體的參數設定頁的運行參數值列顯示的值會大於執行個體實際最大可用串連數?

    A:在RDS控制台執行個體的參數設定頁的運行參數值列顯示的值大於執行個體最大可用串連數的值的部分,用於執行個體日常穩定性維護。

  • Q:修改max_connections參數生效後,顯示的運行參數值為什麼會大於實際設定的值?

    A:在RDS控制台執行個體的參數設定頁的運行參數值列顯示的值大於自訂最大串連數的部分,用於執行個體日常穩定性維護。實際可用的最大串連數以執行個體的基本資料頁展示的最大串連數為準

  • Q:為什麼執行個體升級配置(規格)後,最大串連數沒有變化?

    A:使用者可以手動修改執行個體最大串連數。在使用者不修改的情況下,執行個體會使用預設值,預設值與執行個體規格相關。