識別適用於自動擴縮的場景
您可根據排程或動態評估系統資源是否短缺,以觸發自動調整。 例如,當 CPU 使用率增加時、記憶體佔用量增加時、服務的連入要求數目突然增加時,或各種因素疊加時,都會觸發自動調整。
在飯店訂房系統中,自動調整很適合訂房要求的短期高峰。 您也可以使用安排的自動調整,在可預測的尖峰時間提供更多資源。
什麼是自動縮放?
自動調整是根據目前需求來調整可用資源的雲端系統或流程。 自動調整執行「相應放大和相應縮小」,而不是「相應增加和相應減少」。
Azure App Service 自動調整
Azure App Service 的自動調整會監視 Web 應用程式執行時的資源計量。 App Service 會偵測需要更多資源的情況,以處理增加的工作負載,並確保系統在負載過重之前能使用這些資源。
自動調整會新增或移除網頁伺服器以及平衡這些伺服器之間的負載,以回應環境的變更。 自動調整對驅動 Web 應用程式之網頁伺服器的 CPU 能力、記憶體或儲存體容量沒有任何影響,其只會變更網頁伺服器的數量。
自動調整規則
自動調整會根據您定義的規則制訂決策。 規則會指定計量的閾值,在超出此閾值時觸發自動調整事件。 自動調整也可以在工作負載大幅降低時,解除配置的資源。
請謹慎定義您的自動調整規則。 例如,拒絕服務 (DoS) 攻擊可能導致大規模的傳入流量。 嘗試處理 DoS 攻擊所造成的要求激增,恐怕成效不彰且昂貴。 這些要求不是真的,應該將其捨棄不予處理。 更理想的解決方案是,在這種攻擊所產生的要求接觸到您的服務前,對其進行偵測和篩選。
何時應該考慮自動擴展?
自動調整範圍為您的 Web 服務提供可擴展性和靈活性。 裝載任何應用程式時,當您無法輕鬆事先預測該應用程式的工作負載,或工作負載可能會隨日期或時間而大幅變化時,這是適當的解決方案。 例如,您可能預期某個商務應用程式的活動會在假期期間增加或減少。
自動調整能改善可用性和容錯。 這可以幫助確保 Web 服務的客戶端請求不會被拒絕,無論是因為某個執行個體無法及時確認請求,還是由於超載的執行個體崩潰。
自動調整的運作方式是新增或移除網頁伺服器。 如果 Web 應用程式處理每個要求都耗用大量資源,則自動調整可能不是有效的方法。 在這些情況下,可能需要手動擴展。 例如,如果將要求傳送至 Web 應用程式涉及對大型資料集執行複雜的處理,則此單一要求可能會耗盡執行個體的處理和記憶體容量,視執行個體的大小而定。
自動調整不是處理長期成長的最佳方法。 您可能擁有一個起初只有少數使用者的網路應用,但隨著時間的推移,它會變得越來越受歡迎。 自動調整會產生額外負擔,這與監控資源和決定是否觸發調整事件相關。 在此案例中,如果您能預見成長,則隨著時間手動調整系統可能更符合成本效益。
考慮自動調整時,Web 服務的執行個體數目也是考量要素。 您可能預期大部分時間只執行少數的服務執行個體。 在這種情況下,無論是否啟用自動調整,您的服務都可能會遇到停機或無法使用的問題。 開始時的執行個體數目愈少,自動調整啟動更多執行個體時必須處理的增加工作負載容量就愈少。