本文通過在監控指標彈性策略中配置不同的進階參數,並觀察這些參數對系統行為的影響,以驗證其實際效果。
前提條件
本文是通過PTS壓測工具對應用進行壓測,從而觀察彈性策略中進階參數對應用執行個體擴縮容的影響。因此,需要在正式測試之前完成以下步驟。
-
說明
為了方便測試,請將應用的執行個體數設定為1個。
-
說明
開通CLB的訪問日誌後,在使用的過程中會產生額外的費用。
進階參數說明
在為應用配置監控指標策略和混合彈性策略時,SAE提供了五個進階參數,您可根據實際業務情境選擇參數進行配置。具體參數說明如下:
-
彈性擴容步長:表示單位時間內最多擴容的執行個體數。
-
彈性縮容步長:表示單位時間內最多縮容的執行個體數。
-
擴容穩定視窗:通過自動擴縮演算法來保證當需要執行擴容時,使用指定時間間隔內所計算的期望目標執行個體數中的最小值。
-
縮容穩定視窗:通過自動擴縮演算法來保證當需要執行縮容時,使用指定時間間隔內所計算的期望目標執行個體數中的最大值。
-
禁止縮容:配置後將永遠不會縮容該應用的執行個體。
為應用配置彈性策略
在為應用配置監控指標策略和混合彈性策略時,支援為Auto Scaling策略配置進階參數。本文只介紹關鍵步驟。
本文中配置的監控指標類型的彈性策略只適用於測試。在生產環境中,請根據業務需求進行配置調整。
-
在目標應用的基礎資訊頁面,單擊Auto Scaling頁簽,然後單擊添加彈性策略。
-
在添加彈性策略的操作介面中,配置一個基於公網CLB QPS指標的彈性策略,並將目標值設定為 10。
說明暫不配置任何進階參數。
策略類型選擇監控指標策略,策略名稱稱設定為demo,應用最小執行個體數設定為1,應用最大執行個體數設定為5,最小存活執行個體數選擇按比例並設定為50%。
-
添加完監控指標彈性策略後,啟用該策略。
驗證進階參數的具體作用
在對每個進階參數進行驗證之前,確保監控指標策略中未配置任何進階參數。
驗證彈性擴容步長參數
由於彈性擴容步長與彈性縮容步長的邏輯相似,為簡化測試範圍,本文僅驗證彈性擴容步長的相關功能。
驗證不配置彈性擴容步長時的擴容效果
-
登入效能測試服務 PTS控制台,對目標SAE應用快速進行壓測。
說明壓測使用的URL為SAE應用綁定的公網CLB訪問地址。URL格式為
http://公網IP:連接埠。 -
壓測開始後,查看來自目標SAE應用的自動彈性事件。
篩選來源類型為自動彈性 (HorizontalPodAutoscaler),可查看事件原因為 SuccessfulRescale 的記錄,展開詳情顯示擴容由外部指標
slb_incall_qps超過目標值觸發。彈性事件顯示HPA控制器一次性將執行個體擴容到了5個。
驗證配置彈性擴容步長後的擴容效果
驗證擴容穩定視窗參數
鑒於擴容穩定視窗參數與縮容穩定視窗參數的邏輯相似,為簡化測試範圍,本文僅對擴容穩定視窗參數的功能進行驗證。
驗證不配置擴容穩定視窗時的擴容效果
-
登入效能測試服務 PTS控制台,對目標SAE應用快速進行壓測。
說明壓測使用的URL為SAE應用綁定的公網CLB訪問地址。URL格式為
http://公網IP:連接埠。 -
壓測開始後,對比壓測開始時間和SAE應用擴容時間。
壓測開始時間
SAE應用開始擴容時間
在報告列表頁面查看。
可查看各壓測記錄的壓測時間、報告名稱、報告ID、壓測時間長度、峰值並發、消耗VUM等資訊。找到壓測時間為2025-03-07 17:36:55的記錄,單擊對應的查看報告連結查看壓測結果。
2025-03-07 17:36:55
在應用事件頁面查看。
2025-03-07 17:37:21
通過測試顯示,在不配置擴容穩定視窗參數的情況下,在SAE應用承接流量開始的二十幾秒內,執行個體就迅速的進行了擴容。
驗證配置擴容穩定視窗後的擴容效果
-
在監控指標彈性策略中配置擴容穩定視窗參數。
-
在目標應用的基礎資訊頁面,單擊Auto Scaling頁簽,然後單擊已添加的彈性策略操作列的編輯。
-
在編輯彈性策略面板,單擊進階設定,展開進階參數配置地區。
-
在進階設定地區,配置擴容穩定視窗為
300秒,不配置其餘進階參數,然後單擊確認。
-
-
壓測開始後,對比壓測開始時間和SAE應用擴容時間。
壓測開始時間
SAE應用開始擴容時間
在報告列表頁面查看。
找到目標壓測報告記錄,確認壓測時間,單擊操作列的查看報告查看壓測結果。
2025-03-10 09:50:35
在應用事件頁面查看。
事件列表中顯示一條事件等級為 Normal、事件原因為 SuccessfulRescale 的記錄,來源類型為 HorizontalPodAutoscaler,表示基於外部指標
slb_incall_qps成功將 Pod 數量調整為 5。測試結果顯示,在配置了擴容穩定視窗參數(300秒)的情況下,當SAE應用承接流量後,執行個體擴容操作並未立即觸發,而是在穩定視窗時間耗盡後才開始執行。這表明擴容穩定視窗參數能夠有效延遲擴容操作,避免因短暫流量波動導致的資源浪費。
驗證禁止縮容參數
驗證不開啟禁止縮容時的效果
-
登入效能測試服務 PTS控制台,對目標SAE應用快速進行壓測。
說明壓測使用的URL為SAE應用綁定的公網CLB訪問地址。URL格式為
http://公網IP:連接埠。 -
壓測結束後,在應用事件頁面查看應用的擴縮容事件
篩選來源類型為自動彈性(HorizontalPodAutoscaler)後,事件列表中顯示兩條 SuccessfulRescale 事件:壓測期間擴容至 5 個執行個體(觸發原因:外部指標
slb_incall_qps超過目標值),壓測結束後縮容至 1 個執行個體(觸發原因:所有指標低於目標值)。通過測試顯示,在不開啟禁止縮容參數的情況下,壓測結束後,應用執行個體會逐步縮容到一個。
驗證開啟禁止縮容時的效果
-
在監控指標彈性策略中開啟禁止縮容。
-
在目標應用的基礎資訊頁面,單擊Auto Scaling頁簽,然後單擊已添加的彈性策略操作列的編輯。
-
在進階設定地區,開啟禁止縮容。
-
-
說明
本次測試,設定的壓測時間長度為10分鐘。
-
壓測結束後(流量為0),查看應用執行個體是否進行了縮容。
執行個體列表顯示5個執行個體狀態均為Running,其中4個執行個體已耗用時間約15分鐘(壓測期間彈性擴容建立),1個執行個體已耗用時間約5小時(原始執行個體),所有執行個體均未被縮容回收。
測試結果顯示,壓測結束後約5分鐘,應用執行個體數量仍保持為5個,未發生縮容操作。這表明禁止縮容參數已生效,能夠有效避免因流量波動或誤判引發的資源過度釋放,從而保障服務穩定性。