全部產品
Search
文件中心

Serverless App Engine:配置Auto Scaling策略

更新時間:Sep 03, 2024

當您使用傳統叢集營運時,會遇到系統維護成本高、擴縮容速度慢、容量規劃難以及資源使用率低等問題。在分布式應用管理中,Auto Scaling能夠感知應用內各個執行個體的狀態,並根據執行個體狀態自動增加或減少執行個體數量,即擴容或縮容。結合SAE應用執行個體監控,您可以瞭解資源使用量,選擇合適的彈性策略與指標、設定彈性閾值,從而提高資源使用率、降低資源成本。

前提條件

已部署應用

背景資訊

SAEAuto Scaling支援以下方式:

  • 手動擴縮:當應用擴縮容為緊急需求時,例如突發性的流量高峰,您可以選擇手動擴縮方式。具體操作,請參見手動擴縮

  • 自動擴縮:當應用擴縮容為非緊急需求時,例如周期性的流量高峰,您可以選擇自動擴縮方式,即配置Auto Scaling策略。SAEAuto Scaling策略包括定時彈性策略、監控指標彈性策略和混合彈性策略。更多資訊,請參見SAEAuto Scaling最佳實務

配置Auto Scaling策略的全流程如下圖所示。dg_sae_auto_scaling_rule

適用情境

SAE支援配置三種類型的Auto Scaling策略。

  • 定時策略:適用於資源使用率有周期性規律的應用情境,多用於證券、醫學、政府和教育等行業。

  • 監控指標策略:適用於突發流量和典型周期性流量的應用情境,多用於互連網、遊戲和社交平台等行業。

  • 混合彈性策略:適用於兼備資源使用率有周期性規律和有突發流量、典型周期性流量的應用情境,多用於互連網、教育和餐飲等行業。

注意事項

  • 最多支援建立5條定時策略、1條監控指標策略或1條混合彈性策略,三種策略不能同時使用。

  • 彈性策略啟用時,請勿手動進行應用生命週期管理操作,例如應用擴縮、部署應用、更改規格、重啟應用和停止應用。如果需要對應用進行該類操作,先停用彈性策略後,再手動執行操作。

  • 如果當前應用處於擴容、縮容、部署(單批、分批或灰階)、更改規格、重啟和停止等過程,需等待過程完成後,才可添加或啟動彈性策略。

  • 單應用的執行個體數上限為50。如需提升額度,請加入釘群(釘群號:32874633),申請開通白名單。

查看應用執行個體監控(邀測)

如果您未使用彈性功能,可以依據應用執行個體的監控指標趨勢,評估是否需要為自己的業務設定彈性策略;如果您正在使用彈性功能,可以通過查看監控指標檢驗彈性規則啟用後的效果,合理調整彈性閾值、設定警示規則。

說明

應用執行個體趨勢圖的功能邀測中,如需使用,請加入釘群(釘群號:32874633),申請開通白名單。

  1. 登入SAE控制台

  2. 在左側導覽列,單擊應用列表,在頂部功能表列選擇地區,然後單擊具體應用程式名稱。

  3. 基本資料頁簽的應用執行個體趨勢圖,按需篩選監控維度。sc_pod_trend_indicator_chart

    您可以滑動趨勢圖下方的時間軸,調整資料展示的時間範圍;也可以單擊左下角的圖例,選擇資料展示的類別。

    說明

    SAE僅支援查詢7天內的應用執行個體監控資料。

配置Auto Scaling策略

警告

應用擴縮容過程中,可能會造成例如業務中斷等不可預知的錯誤。請根據實際業務需求,謹慎配置並啟用Auto Scaling策略。

  1. 登入SAE控制台

  2. 在左側導覽列,單擊應用列表,在頂部功能表列選擇地區,然後單擊具體應用程式名稱。

  3. 基本資料頁面,單擊右上方的自動擴縮,進入添加彈性策略面板。

  4. 添加彈性策略面板,設定策略資訊。

    • 定時策略

      配置項

      說明

      策略類型

      選擇定時策略

      策略名稱稱

      自訂。

      選擇時間

      • 短期:需要指定執行定時Auto Scaling策略的起止日期。

      • 長期:無需指定執行定時Auto Scaling策略的結束日期。

      周期

      執行定時Auto Scaling策略的周期。

      • 每天:每天指定時間執行定時策略。

      • 每周:每周指定天數的指定時間執行定時策略。

      • 每月:每月指定日期的指定時間執行定時策略。

      單天內的觸發時間

      設定Auto Scaling策略觸發的時間,以及該時間段內需要保持的應用執行個體數。樣本如下。

      如果周期設為每天,第一條定時策略觸發開始時間為08:00,目標執行個體數為10個;第二條定時策略開始時間為20:00,目標執行個體數為3個。則在08:00至20:00之間,SAE依據所設的規則,將該應用的執行個體數保持為10個,在20:00至次日08:00之間,應用執行個體數保持為3個。

      重要
      • 單條定時策略內,兩個鄰近的單天內的觸發時間間隔需大於5分鐘。如果設定了多條定時策略,SAE會檢查重複日期內的多個觸發時間點的時間間隔。

      • 如果設定了多條定時策略,並且兩個觸發點時間重複,那麼遵循以新蓋舊的原則,以最後添加的觸發點策略為準。設定定時策略時,需避免時間衝突。

    • 監控指標策略

      配置項

      說明

      策略類型

      選擇監控指標策略

      策略名稱稱

      自訂。

      觸發條件

      設定以下監控指標中的一個或多個。預設顯示CPU使用率記憶體使用量率指標類型,單擊添加設定更多指標。

      • CPU使用率:單個執行個體的平均CPU使用率。

      • 記憶體使用量率:單個執行個體的平均記憶體使用量率 。

      • TCP活躍串連數:30秒內單個執行個體的平均TCP活躍串連數。

      • TCP總串連數:30秒內單個執行個體的平均TCP總串連數。

      • 應用QPS:1分鐘內單個執行個體的平均QPS。

      • 應用回應時間(RT):1分鐘內應用所有服務介面平均RT值。

      • 公網CLB QPS:15秒內單個執行個體的平均公網CLB QPS。

      • 公網CLB回應時間:15秒內公網CLB平均RT。

      • 私網CLB QPS:15秒內單個執行個體的平均私網CLB QPS。

      • 私網CLB回應時間:15秒內私網CLB平均RT。

      說明
      • 應用監控頁面最近30分鐘內有應用QPS或應用回應時間(RT)資料時,才可以設定應用QPS應用回應時間(RT)指標。

      • 當設定多個監控指標時,只要任何一個指標大於或者等於目標值,則應用進行擴容,擴容後執行個體數不高於應用最大執行個體數;如果所有指標均小於目標值,則應用進行縮容,縮容後執行個體數不低於應用最小執行個體數

      • 設定CLB的相關指標前,您需要為應用綁定CLB,並配置訪問日誌。其中,CLB監聽連接埠需配置為HTTP協議HTTPS協議。具體操作,請參見為應用綁定CLB開通訪問日誌功能

      執行個體數設定

      輸入執行個體數或者滑動下方的指標設定執行個體數。

      • 應用最小執行個體數:觸發Auto Scaling條件後,應用縮容,其執行個體數可達到的目標值。

      • 應用最大執行個體數:觸發Auto Scaling條件後,應用擴容,其執行個體數可達到的目標值。

      • 最小存活執行個體數:每次部署最小存活的執行個體數。取值需大於等於0,且小於等於當前應用執行個體總數。僅當應用最小執行個體數小於應用最小存活執行個體數時,才會顯示該配置項。單擊設定,在設定最小存活執行個體數對話方塊設定最小存活執行個體數量。

      說明

      手動擴縮添加彈性策略能夠設定的最大執行個體數同步。每次滾動部署最小存活的執行個體數建議大於等於1,保證業務不中斷。如果設定為0,應用升級過程中業務將會中斷。

      進階設定

      • 彈性擴容步長:單位時間內最多擴容的執行個體數。

      • 彈性縮容步長:單位時間內最多縮容的執行個體數。

      • 擴容穩定視窗:穩定視窗期系統趨於維穩狀態。通過自動擴縮演算法來保證當需要執行擴容時,使用指定時間間隔內所計算的期望目標執行個體數中的最小值。

      • 縮容穩定視窗:穩定視窗期系統趨於維穩狀態。通過自動擴縮演算法來保證當需要執行縮容時,使用指定時間間隔內所計算的期望目標執行個體數中的最大值。

      • 禁止縮容:開啟後將永遠不會縮容該應用的執行個體,能有效防止在流量高峰期縮容造成業務風險。預設關閉。

    • 混合彈性策略

      配置項

      說明

      策略類型

      選擇混合彈性策略

      策略名稱稱

      自訂。

      觸發條件

      設定以下監控指標中的一個或多個。預設顯示CPU使用率記憶體使用量率指標類型,單擊添加設定更多指標。

      • CPU使用率:單個執行個體的平均CPU使用率。

      • 記憶體使用量率:單個執行個體的平均記憶體使用量率 。

      • TCP活躍串連數:30秒內單個執行個體的平均TCP活躍串連數。

      • TCP總串連數:30秒內單個執行個體的平均TCP總串連數。

      • 應用QPS:1分鐘內單個執行個體的平均QPS。

      • 應用回應時間(RT):1分鐘內應用所有服務介面平均RT值。

      • 公網CLB QPS:15秒內單個執行個體的平均公網CLB QPS。

      • 公網CLB回應時間:15秒內公網CLB平均RT。

      • 私網CLB QPS:15秒內單個執行個體的平均私網CLB QPS。

      • 私網CLB回應時間:15秒內私網CLB平均RT。

      說明
      • 應用監控頁面最近30分鐘內有應用QPS或應用回應時間(RT)資料時,才可以設定應用QPS應用回應時間(RT)指標。

      • 當設定多個監控指標時,只要任何一個指標大於或者等於目標值,則應用進行擴容,擴容後執行個體數不高於應用最大執行個體數;如果所有指標均小於目標值,則應用進行縮容,縮容後執行個體數不低於應用最小執行個體數

      • 設定CLB的相關指標前,您需要為應用綁定CLB,並配置訪問日誌。其中,CLB監聽連接埠需配置為HTTP協議HTTPS協議。具體操作,請參見為應用綁定CLB開通訪問日誌功能

      應用最大最小執行個體數設定

      預設設定

      設定應用執行個體數。

      • 應用最小執行個體數:觸發Auto Scaling條件後,應用縮容,其執行個體數可達到的目標值。

      • 應用最大執行個體數:觸發Auto Scaling條件後,應用擴容,其執行個體數可達到的目標值。

      • 最小存活執行個體數:每次部署最小存活的執行個體數。取值需大於等於0,且小於等於當前應用執行個體總數。僅當應用最小執行個體數小於應用最小存活執行個體數時,才會顯示該配置項。單擊設定,在設定最小存活執行個體數對話方塊設定最小存活執行個體數量。

      說明

      手動擴縮添加彈性策略能夠設定的最大執行個體數同步。每次滾動部署最小存活的執行個體數建議大於等於1,保證業務不中斷。如果設定為0,應用升級過程中業務將會中斷。

      特殊時間段設定

      給特定的時間段設定特定的執行個體最大最小值。預設顯示選擇時間1。單擊+添加特殊時間段,設定選擇時間2

      • 短期:需要指定執行定時Auto Scaling策略的起止日期。

      • 長期:無需指定執行定時Auto Scaling策略的結束日期。

      說明
      • 特殊時間段設定不超過2條。

      • 同一條策略內,單天內的觸發時間段不能重合,不超過20條。

      周期

      周期下拉式清單,選擇每天每周每月,並配置相應資訊。

      • 每天:每天指定時間執行定時策略。

      • 每周:每周指定天數的指定時間執行定時策略。

      • 每月:每月指定日期的指定時間執行定時策略。

      單天內的觸發時間

      設定Auto Scaling策略觸發的時間,以及該時間段內需要保持的應用執行個體數。樣本如下。

      如果周期設為每天特殊時間段觸發時間為08:00~20:00,應用最小執行個體數為3個,應用最大執行個體數為10個,那麼基於已配置的觸發條件SAE在指定的日期內會執行以上定時Auto Scaling策略。

      進階設定

      • 彈性擴容步長:單位時間內最多擴容的執行個體數。

      • 彈性縮容步長:單位時間內最多縮容的執行個體數。

      • 擴容穩定視窗:穩定視窗期系統趨於維穩狀態。通過自動擴縮演算法來保證當需要執行擴容時,使用指定時間間隔內所計算的期望目標執行個體數中的最小值。

      • 縮容穩定視窗:穩定視窗期系統趨於維穩狀態。通過自動擴縮演算法來保證當需要執行縮容時,使用指定時間間隔內所計算的期望目標執行個體數中的最大值。

      • 禁止縮容:開啟後將永遠不會縮容該應用的執行個體,能有效防止在流量高峰期縮容造成業務風險。預設關閉。

      說明
      • 混合彈性原則設定的多個特殊時間段之間不可重疊。

      • 單條混合彈性策略內設定的觸發時間,不能小於系統目前時間;如果小於目前時間,該策略將在下個執行循環內生效。

  5. 單擊下一步:預覽定時策略確認策略資訊,然後單擊確認

  6. 原則設定完成後,在執行個體部署資訊頁簽的Auto Scaling地區,單擊目標策略操作列的啟用

  7. 啟用彈性策略對話方塊,單擊確認,啟用該策略。

    當該策略的狀態切換至已啟用時,表明策略啟用成功。

驗證Auto Scaling策略

啟用彈性策略後,SAE會自動監控應用狀態,當滿足觸發條件時,SAE依據彈性策略進行應用執行個體擴容或縮容。您可以通過以下步驟驗證Auto Scaling策略是否生效。

  1. 登入SAE控制台

  2. 在左側導覽列,單擊應用列表,在頂部功能表列,選擇地區,然後在應用列表頁面,找到目標應用。

    可以在彈性策略啟用狀態當前執行個體數/目標執行個體數列查看彈性策略的運行狀態;也可以單擊目標名稱,在基本資料頁簽的應用資訊地區,查看應用運行執行個體數

    如果運行執行個體數與彈性原則設定的執行個體數一致,說明彈性策略已生效。

  3. 可選:在左側導覽列,單擊應用事件,在全部來源類型下拉式清單,選擇自動彈性(HorizontalPodAutoscaler),查看Auto Scaling原因。

更多操作

為應用配置Auto Scaling策略後,您可以在執行個體部署資訊頁簽,查看已配置策略的詳細資料。

  1. 登入SAE控制台

  2. 在左側導覽列,單擊應用列表,在頂部功能表列選擇地區,然後單擊具體應用程式名稱。

  3. 基本資料頁面,單擊執行個體部署資訊頁簽,展開Auto Scaling摺疊地區,然後在指定策略的操作列,按需進行啟停、編輯、刪除等操作。