共用方式為


Azure 上永續性工作負載的測試考慮

開發及部署雲端解決方案的組織也需要可靠的測試。 瞭解執行工作負載測試的考慮和建議,以及如何針對更永續性的測試模型進行優化。

重要

本文是 Azure Well-Architected 永續性工作負載 系列的一部分。 如果您不熟悉此系列,建議您從 什麼是永續性工作負載開始?

測試效率

在低碳期間執行整合、效能、負載或任何其他密集測試

執行整合、效能、負載或任何其他密集測試功能可能會導致大量處理。 設計完善的設計來測試已部署的工作負載,有助於確保可用資源的完整使用率,並減少碳量。

綠色軟體基礎對齊方式: 碳感知

建議:

  • 您可以在其中取得資料,規劃在資料中心的能源混合主要使用能源時執行測試。 例如,在某些區域中,在夜間執行測試可能更有説明。

視需要自動化 CI/CD 以調整背景工作代理程式

執行使用量過低或非使用中的 CI/CD 代理程式會導致更多的碳。

綠色軟體基礎對齊方式: 硬體效率

建議:

  • 根據目前的需求,讓計算使用率保持高,以避免不必要的容量配置。
  • 僅在必要時相應放大,且未測試時,請相應縮小。 最後,這可確保測試環境中沒有閒置的計算資源。
  • 請考慮在 VM 中透過測試的容器等優化平臺服務,利用平臺來減少維護。

使用 CI/CD 代理程式時,請考慮快取

在 CI/CD 期間使用快取機制可降低計算時間,因此可降低碳量。

綠色軟體基礎對齊方式: 能源效率

建議:

  • 盡可能將步驟儲存在快取中,並在不同的 CI/CD 執行之間重複使用它們:當有步驟需要 CPU 時間來產生不常在不同執行之間變更的成品時,最好儲存它以供日後使用,讓每次執行產生相同的成品時,不會浪費 CPU 時間。 覆寫和覆寫。
  • 如果 CI/CD 代理程式是自我裝載的,請使用代理程式的本機快取來進一步減少資料傳輸和輸出。 這可確保快取不會透過網路傳輸,這可以是重大的碳來源。

分割大型程式碼存放庫

分割大型存放庫可協助 CI/CD 階段,其中只會編譯已變更的程式碼部分。 這可減少計算時間,這最終會降低碳量。

綠色軟體基礎對齊方式: 能源效率

建議:

  • 分割大型程式碼存放庫,將主要程式碼與程式庫和相依性分開。
  • 發佈及重複使用跨多個存放庫通用的程式碼成品和程式庫。

建議:

  • 將大型程式碼存放庫分割成較小的存放庫,將主要程式碼與程式庫和相依性分開。
  • 發佈及重複使用跨多個存放庫通用的程式碼成品和程式庫。

分析及測量

測量、分析及測試工作負載是瞭解如何最佳使用已配置資源的命令式。

評估平行處理可能的位置

若未正確分析及測試工作負載,很難知道它是否充分利用基礎平臺和已部署的資源。

綠色軟體基礎對齊方式: 測量永續性

建議:

  • 測試您的應用程式以瞭解並行要求、同時處理等等。
  • 如果您要執行 Machine Learning (ML) 進行測試,請考慮使用 GPU 的電腦以提高效率。
  • 識別工作負載是否耗用大量效能,並致力於優化。
  • 請考慮此取捨: 針對 ML 測試執行 GPU 型機器可能會增加成本。

使用混亂工程進行評估

執行整合、效能和負載測試會增加工作負載的可靠性。 不過,引進混亂工程可大幅改善可靠性和復原能力,以及應用程式如何回應失敗。 如此一來,工作負載就可以優化,以正常處理失敗,且耗用較少的資源。

綠色軟體基礎對齊方式: 測量永續性

建議:

  • 使用負載測試或 混亂工程 來評估工作負載如何處理平臺中斷和流量尖峰或下降。 這有助於提升服務復原能力,以及回應失敗的能力,以達到更優化的錯誤處理。
  • 請考慮此取捨: 在混亂工程期間插入錯誤,以及增加任何系統上的負載也會增加用於測試資源的釋放量。 評估如何使用混亂工程來增加工作負載可靠性,同時考慮執行不必要的測試會話的氣候影響。
  • 另一個角度是使用混亂工程來測試能源故障或具有更高碳的時刻:請考慮設定測試,以挑戰您的應用程式耗用最低可能能源。 定義應用程式如何以特定的「生態系統」版本回應這類條件,告知使用者他們藉由犧牲某些功能,並可能降低某些效能,以發出最小可能的碳。 這也可以是您的基準測試應用程式,以評分其永續性。

在測試中建立 CPU 和記憶體閾值

協助建置測試以在應用程式中測試永續性。 請考慮使用基準 CPU 使用率測量,並在測試執行時偵測 CPU 使用率基準的異常變更。 使用基準時,可以稍早探索最近程式碼變更中所做的次佳決策。

將測試和品質閘道新增至部署和測試管線,有助於避免部署非永續性解決方案,進而降低的碳量。

綠色軟體基礎對齊方式: 能源效率

建議:

  • 在執行整合測試或單元測試時,監視 CPU 和記憶體配置。
  • 在應用程式程式碼中尋找異常高的資源耗用量區域,並專注于先緩和這些區域。
  • 如果超過已建立的基準值,請設定警示或測試失敗,協助避免部署非永續性工作負載。
  • 請考慮此取捨:隨著應用程式成長,基準可能需要據以轉移,以避免在引進新功能時測試失敗。

後續步驟

檢閱作業程式的設計考慮。