透過優化改善效率

已完成
改善已定義效能目標內的系統效率,以增加工作負載值。

初始階段期間設定的目標是以合理的用戶體驗層級為基礎,並考慮各種條件約束。 您應該重新評估並調整目標,以進一步增強體驗。 為了進一步增強體驗,它需要清楚了解系統的使用方式、其演進方式,以及平臺或技術隨著時間的變化。 監視、優化、測試和部署的迴圈是一個連續的程式。

效率優化工作可讓工作負載以較低的資源耗用量運作。 它們可能會導致工作負載處於具有備用容量的過度布建狀態。 使用該容量來改善系統的可靠性。 排除可改善系統成本的容量。 或重新規劃容量,以支援現有資源上的新產品功能。

當系統獲得效率時,請利用機會設定和維護新的效能目標。

範例案例

Contoso 的人力資源工程小組支援將自定義整合至組織的人力資源信息系統 (HRIS)。 這些整合包括薪資的財務整合、政府勞動法報告的招聘統計數據,以及其他。 大部分整合都是以 C# 撰寫的 Azure Functions,這些 Azure Functions 裝載於組織數據中心內已啟用 Azure Arc 的 Kubernetes 叢集中。 大部分的工作都運作良好,但由於處理延遲,一些作業會讓小組感到焦慮,因為當人力資源主管需要數據時,有時無法使用關鍵數據。

排定效能優化優先順序

為效能優化配置專用迴圈,以解決功能區域中的非功能需求和優化。 此優化的目標包括資源、程式代碼、數據保留、資料庫查詢和其他專案。

藉由採用這種方法,您可以建置效能驅動優化的文化特性。 您會讓小組負責主動監視效能模式,並微調應用程式。

Contoso 的挑戰

  • 小組相當不屑一格,而且他們的待辦專案很長。 在撰寫和部署整合時,他們大部分時間都處於「火爆和忘記」思維:整合會寫入、部署,然後小組繼續進行下一項工作。
  • 由於高級領導無法及時存取數據,小組經常被要求處理重大事件支持問題。
  • 小組非常瞭解需要進行改進,但尚未優先進行必要的變更。

套用方法和結果

  • 小組現在為每個短期衝刺和其他優化活動配置 20%。 這會購買工程小組的時間,以排定優先順序並解決重要區域,以及影響最有意義的其他領域。
  • 藉由採取這種方法,小組就能夠奉獻必要的時間來解決效能問題,而導致處理數據延遲。

尋找設計改進功能

使用新的設計模式和元件來增強架構,以您先前因時間或預算有限而未考慮的方式提升效能。

新的設計和元件可以優化系統,進而提升用戶體驗和長期成本效益。 例如,您可以使用快取或新增內容傳遞網路元件。

Contoso 的挑戰

  • 小組已使用 Azure Functions 和以觸發程式為基礎的流程數年,且尚未專門用來評估此方法的替代方案。

套用方法和結果

  • 小組會探討其他使用 Azure Functions 的方式,並發現耐久函式支援可協助其平行處理特定薪資工作的展開模型。
  • 小組會將此模式併入其設計類別目錄,以供未來設計使用。 除了程式代碼優化和數據清除之外,查看解決效能效率不佳的其他方式也是很好的提醒。

使用監視工具來分析歷程記錄趨勢,並識別流程和程式代碼實作路徑,讓效能優化工作受益最大。 我們建議針對此目的使用應用程式效能監視 (APM) 工具和分析工具。 此外,找出系統中的作業經常性路徑和其他潛在瓶頸。

當您識別週期性的問題區域時,小組可以將焦點放在最高收益的位置。

Contoso 的挑戰

  • 小組已使用 Azure 應用程式 Insights 檢測所有函式。
  • 它們大多使用 Application Insights 來解決中斷修正問題,以及記錄接收。
  • 從歷史上看,他們針對改進領域的做法是基於來自高級領導小組的意見反應。

套用方法和結果

  • 雖然意見反應很重要,但小組發現ApplicationInsights在偵測其監視之應用程式中的熱點時,會相當出色。
  • 小組會開始利用這項功能,並結合知道哪些流程很重要,它正在變成小組在技術改進和效率方面 20% 努力的寶貴工具。
  • 使用 Application Insights 時,小組能夠主動識別有風險的整合,並在領導小組成員遇到問題之前加以處理。

檢定您的知識

1.

Contoso 小組如何變更其開發程式,以解決持續發生的效能問題?

2.

下列哪一項是改善工作負載效率的良好策略?

3.

哪種類型的工具可協助您分析效能趨勢並找出執行瓶頸?