容量規劃的建議
適用于此 Azure Well-Architected Framework 效能效率檢查清單建議:
PE:02 | 進行容量規劃。 在使用模式中預測的變更之前,應該先進行容量規劃。 預測的變更包括季節性變化、產品更新、行銷活動、特殊事件或法規變更。 |
---|
本指南說明容量規劃的建議。 容量規劃是指判斷符合工作負載效能目標所需的資源的程式。 它牽涉到估計支援工作負載效能需求所需的運算資源數量,例如 CPU、記憶體、儲存體和網路頻寬。 容量規劃有助於避免布建不足,並確保工作負載有足夠的資源來處理預期的工作負載需求,而不會發生效能降低或瓶頸。 它也有助於防止過度布建和不必要的成本。 缺乏容量規劃可能會導致效能問題、資源瓶頸、增加的成本、效率不佳的配置、延展性挑戰,以及無法預測的工作負載效能。
定義
詞彙 | 定義 |
---|---|
容量規劃 | 預測工作負載需要符合其效能目標的資來源程式。 |
功能需求 | 工作負載必須具備的功能才能滿足其預期用途。 |
技術需求 | 符合功能需求所需的程式碼和基礎結構。 |
趨勢分析 | 預測未來需求的歷史資料分析。 |
主要設計策略
容量規劃是一種未來程式,涉及根據預期的工作負載需求和模式做出決策。 其目標是將連續和尖峰負載案例的工作負載效能優化。 藉由瞭解使用量變更,例如季節性班次或產品發行,您可以策略性地配置資源,避免在高需求期間造成系統壓力。 此主動式策略可減少中斷並提升效能效率。 藉由分析過去的使用量趨勢和成長資料,您可以預測短期和長期的需求。 您可以找出潛在的瓶頸和調整問題,以確保一致且有效率的工作負載效能。
收集容量資料
收集工作負載使用率資料需要收集和分析工作負載如何使用資源的資訊。 您應該收集現有工作負載的歷程記錄模式資料,以及新工作負載的預測性量值。 此程式有助於將商務目標轉譯為技術需求,而且對於預測容量至關重要。 請考量下列建議事項:
瞭解現有的工作負載
瞭解容量規劃的現有工作負載牽涉到分析與工作負載如何使用資源相關的歷程記錄資料。 其中包含資源使用率、效能資料和工作負載模式等計量。 這項瞭解可確保有效率的資源配置、將商務目標轉譯為技術需求,並協助找出潛在的瓶頸。
瞭解資料:檢閱可用的歷程記錄資料,並瞭解其結構、格式和容量規劃的相關性。 檢閱可能包含資源使用率計量、工作負載模式、效能計量和其他相關資料點。 瞭解商務程式和應用程式的關鍵性。 識別尖峰使用時間、使用者負載、交易率和其他相關計量。
清除並預先處理資料:移除任何不一致、錯誤或極端值,以準備資料進行分析。 準備資料可能牽涉到資料清理技術,例如資料插補、遺漏值的處理或正規化。
識別重要計量:識別與容量規劃相關的計量。 計量可以包括 CPU 使用率、記憶體使用量、網路輸送量和回應時間。
識別瓶頸:測量輸送量和回應時間,以識別系統的特定元件,這些元件可能會在工作負載成長時變成瓶頸。 每秒的要求和資料庫 CPU 使用量可能是容量的良好指標。
將資料視覺化:建立圖表或繪圖等視覺效果,以深入瞭解歷程記錄資料。 視覺效果可協助您識別資料的模式、趨勢和異常狀況,讓您更清楚瞭解工作負載行為。
瞭解新的工作負載
瞭解容量規劃的新工作負載是指預測未來工作的資源需求,而不需歷程記錄資料。 預測新工作負載的未來需求,而不需要歷程記錄資料可能更具挑戰性。 此程式可確保在導入工作負載時,有效率地配置資源,並將配置與工作負載目標保持一致。 請考量下列建議事項:
市場研究:進行市場研究以瞭解類似產品或服務的需求,可為新工作負載的潛在需求提供寶貴的見解。 研究可能包括分析市場趨勢、進行問卷或研究競爭者供應專案。
專家判斷:來自產業經驗的主題專家或專業人員的輸入,可協助您預估新工作負載的需求。 其專業知識和見解可以提供寶貴的預測輸入。
試驗專案或原型:小型試驗專案或原型可協助您收集即時資料和意見反應。 然後,您可以使用此資料來通知容量規劃程式,並調整預測的需求。
外部資料源:產業報告、市場研究或客戶問卷等外部資料源可以提供額外資訊來估計新工作負載的需求。 這些來源可以提供客戶喜好設定、市場趨勢和潛在需求驅動程式的寶貴見解。
預測需求
預測需求牽涉到使用工作負載資料來預測服務或產品的未來需求。 容量規劃必須確保有效率的資源配置、預期成長模式,以及準備潛在的需求激增。 當您預測未來需求時,您會使用資料來瞭解未來的需求。 您可以將統計分析、趨勢分析或預測模型化技術套用至必須預測未來需求的資料。 這些方法會考慮歷程記錄或預期的模式,並將它們投影到未來,以提供預期的工作負載需求估計值。 若要預測需求,請考慮下列策略:
考慮各種案例
當您執行容量規劃時,必須規劃可能發生的不同案例。 此規劃應該同時包含可預測的成長模式和需求意外的激增。 使用模式可以成長或縮小。 這些使用者可以是) 或 (事件或安全性事件) (的有機 (。 在主要時間,您必須在使用量變更之前進行容量規劃:
- 設計 (預測)
- 一般尖峰 (上午 8:00 登入尖峰)
- 啟動 (預測驗證)
- 商務模型變更
- 收購或合併
- 行銷推播
- 季節性變更
- 功能啟動
- 定期
使用預測技術
預測服務或產品的未來需求牽涉到使用統計分析、趨勢分析和預測模型等技術。 以下是如何使用這些技術的概觀:
統計分析:統計方法可協助您找出歷程記錄資料中的模式和關聯性。 您可以使用這些模式來預測未來的需求。 您可以使用時間序列分析、迴歸分析和移動平均等技術來識別資料中的趨勢、季節性和其他模式。
趨勢分析:趨勢分析牽涉到檢查歷程記錄資料,以識別一致的模式,並將這些模式外推至未來。 例如,如果工作負載需求在過去一年增加 10%,您可能會預測此趨勢的接續。 當您分析一段時間的歷史需求資料時,您可以識別成長或減少趨勢。 使用這些趨勢作為預測未來需求的基礎。 趨勢分析也可以識別一次性事件的影響,這些事件會導致流量快速轉移 () 。 例如,功能版本可能會持續增加 5% 的需求。 如果您有一年四個主要版本,您應該每次規劃 5% 的成長。
預測模型:預測模型是建置數學模型的程式,這些模型使用歷程記錄資料和其他相關變數來預測未來需求。 您可以使用機器學習演算法、神經網路或決策樹等技術。 這些模型可以考慮多個因素和變數,以提供更精確的預測。
將預測與工作負載目標對齊
將預測與工作負載目標對齊涉及調整預測容量模型,以確保它們符合特定工作負載的特定目標和需求。 這項對齊可確保資源已充分佈建,避免使用量過低和潛在的工作負載多載。 例如,如果您的目標是支援 1 百萬位使用者的 API,以每秒上傳 1 MB 的檔案,但目前的資料顯示寫入速度緩慢,您需要調整系統。 請務必與專案關係人溝通,以掌握工作負載的需求。 請確定您的方案符合服務提供者 (SLA) 承諾。 此對齊可確保您的容量符合預期的需求,並協助找出可能需要變更的系統區域。
判斷資源需求
判斷容量規劃的資源需求牽涉到評估符合預測需求所需的資源。 例如,如果應用程式在促銷活動期間預期使用者增加 50%,可能需要配置更多雲端實例,或調整其自動調整參數來處理增加的負載。
工作負載可以有許多資源,因此沒有一個計量可以觀察以判斷資源需求。 您需要在資源層級測量容量,以取得有意義的結果。 根據歷史資料、市場趨勢和商務預測,預估資源的預期需求。 請考慮交易數目、並行使用者或任何其他相關計量。
根據預測的需求,計算符合該需求所需的資源。 請考慮伺服器容量、網路頻寬、儲存體容量和人員等因素:
伺服器容量:根據並行使用者或交易的估計數目來判斷所需的伺服器容量。 請考慮 CPU、記憶體和磁碟空間需求等因素,以確保您的伺服器可以處理預期的工作負載。
網路頻寬:評估您需要支援預期流量層級的網路頻寬。 您應該同時包含輸入和輸出資料傳輸速率,以確保伺服器和用戶端之間的順暢且有效率的通訊。
儲存體容量:估計工作負載在預測需求期間產生或處理的資料量。 請考慮資料庫大小、檔案儲存體需求,以及應用程式專屬的任何其他資料儲存體需求等因素。
人員:評估管理和維護基礎結構所需的人力資源、處理客戶支援、執行系統維護,並確保順暢的作業。 考慮工作負載分佈、技能集和必要專業知識等因素。
瞭解資源限制
工作負載中的資源有效能限制。 效能限制適用于每個服務內的服務和 SKU。 您必須瞭解工作負載中資源的限制,並將這些限制納入您的設計決策中。 例如,您應該知道資源限制是否需要變更 SKU 或完全變更資源。
您也需要識別可觸達的限制。 其是指找出工作負載的最大臨界值或界限。 這些限制通常適用于基礎結構 (計算、記憶體、儲存體、網路) 、應用程式 (並行資料庫連結、回應時間、可用性) 、服務 (每秒要求) 和調整。 當容量規劃識別可達到的限制時,您必須在限制建立效能問題之前修改工作負載。 效能基準、持續監視和測試是驗證限制和解決方案的必要條件。
取捨:錯誤的容量規劃可能會導致過度布建或資源布建不足。 過度布建會導致較高的成本。 布建不足可能會導致效能不佳。 嘗試尋找正確的平衡。
Azure 設施
收集容量資料和預測需求: Azure 監視器 可讓您從應用程式和基礎結構收集及分析遙測資料。 它支援監視各種 Azure 資源,包括虛擬機器、容器和儲存體帳戶。 主要工具組括 Application Insights 和 Log Analytics。 藉由設定資料收集和定義您想要監視的計量和記錄,您可以收集寶貴的工作負載資料進行分析。 針對網路監視,請將 Azure 監視器與 Azure 網路監看員、Azure 監視器網路見解和 Azure ExpressRoute 監視結合。
Azure 監視器可讓您分析歷程記錄資料,並套用預測技術來預測未來的工作負載趨勢和容量需求。 您可以產生可協助您規劃容量的預測。 這些預測會使用預測的需求模式,協助預估伺服器容量、網路頻寬、儲存體容量和其他資源需求。
決定資源需求:因為它們提供各種不同的設定,所以 Azure 工具和服務可協助您定義技術需求。 您可以將工作負載需求與可用的 Azure 資源一致,以確保您選取適當的元件和設定,以符合您的功能需求。
瞭解資源限制:Azure 提供檔和資源,協助您瞭解各種 Azure 服務和 SKU的效能限制。 考慮這些限制可協助您做出明智的設計決策,並將工作負載架構優化,以達到效能和成本效益。
Azure 提供延展性選項,例如自動調整,可根據工作負載需求自動調整資源。 您可以使用較大的虛擬機器大小來增加資源的容量,也可以藉由新增資源實例來水準調整。 具有自動調整功能的 Azure 服務可以自動相應放大,以確保工作負載尖峰期間的容量,並在負載減少時返回正常。 您的組態和服務中有應該注意的調整限制。 您可以閱讀檔或執行測試。 Azure 提供 Azure 負載測試之類的工具,可模擬負載和不同的使用模式,以協助您收集工作負載的相關資料。
相關連結
效能效率檢查清單
請參閱一組完整的建議。