收集效能資料的建議
適用於此 Power Platform Well-Architected 性能效率檢查表建議:
PE:04 | 收集效能資料。 工作負載元件和流應提供自動、連續且有意義的指標和記錄。 收集工作負載不同級別的資料,例如應用程式、平台、資料和操作系統級別。 |
---|
收集效能資料是收集指標和記錄的過程,這些指標和記錄提供有關工作負載效能的資訊。 此資料包括數值,其稱為計量。 計量描述了系統在特定時間點的狀態。 效能資料還包括記錄,其中包含組織成記錄的不同類型資料。
通過收集效能資料,可以監視和分析工作負荷的效能。 您可以使用此資訊來識別效能瓶頸、解決問題以及做出資料驅動的決策,以提高工作負載的整體效能效率。
如果沒有資料驅動的見解,您可能不知道潛在的效能問題或最佳化機會。 可能的結果包括回覆時間變慢、輸送量降低,最終導致用戶體驗欠佳。 此外,缺乏效能資料使得難以及時診斷和解決問題,從而導致停機時間延長和生產力降低。
定義
詞彙 | 定義 |
---|---|
活動記錄 | 追蹤資源管理操作(例如刪除資源)的紀錄。 |
應用程式記錄檔 | 追蹤有關應用程式事件、錯誤和其他活動(如登錄和資料庫連接失敗)的資訊的紀錄。 |
應用程式效能監控(APM)工具 | 監視和報告應用程式效能的工具。 |
程式碼檢測 | 從應用程式代碼的角度直接或間接捕獲效能指標。 捕獲的指標包括流指標、資源使用方式以及特定於語言或運行時的指標。 |
分散式追蹤 | 跨分散式工作負載元件收集和關聯指標。 |
指標接收器 | 指標的存儲目標,用於關聯時序資料以進行分析。 |
平台記錄 | 診斷和審核資料,包括資源記錄、活動記錄和審核記錄。 |
平台指標 | 記錄特定時間工作負載效能的數值。 |
資源記錄 | 系統生成的資料。 它提供有關系統狀態的資訊。 |
結構化記錄 | 定義一種有意義的格式來記錄消息,通常為鍵值對。 |
關鍵設計原則
效能最佳化需要資料來根據其效能目標衡量工作負載或流的當前效能。 您需要收集適量且多樣化的資料,以根據效能目標衡量程式碼和基礎架構的效能。 確保工作負載中的每個元件和流自動生成連續且有意義的指標和記錄。 您需要從應用程式、平台、存儲和作業系統等不同級別獲取此資料。 全面的效能資料收集可以全面了解效能,從而能夠精確找出效率低下的問題和改善途徑。
集中效能資料
集中效能指標和記錄是從各種來源收集效能指標和記錄並將其存儲在中心位置的過程。 建立中央計量接收器和中央記錄接收器。 這種集中化允許跨不同系統和元件輕鬆訪問、分析和監控效能指標和記錄。 通過集中衡量指標和記錄,您可以瞭解工作負載的效能。 選擇合適的平台或工具,以聚合和存儲工作負載效能指標和記錄。
取捨:了解收集計量和記錄的成本。 通常,您收集的指標和記錄越多,成本就越高。
細分效能資料
細分效能資料涉及根據指標和記錄的來源、用途或環境對其進行組織和分類。 例如,您應該將生產資料與非生產資料分開,或者區分效能目標和業務指標。 對資料進行分段有助於最佳化特定環境、促進故障排除並限制效能監控中的不準確性。 透過明確區分不同的資料類型,您可以更有效地擷取、分析和回應相關計量,並更好地將工作負載運行狀況與工作負載目標保持一致。 要細分效能資料,請考慮以下建議:
將生產數據和非生產數據分開。 通過按環境分離資料,您可以確保對每個環境進行集中監控和最佳化。 在生產環境中,您可以更好地識別和解決直接影響使用者和業務運營的效能問題。 在非生產環境中,資料分離有助於在部署到生產環境之前的測試階段進行有效的故障排除和微調。
在每個環境中使用一組數據。 不要將一組資料用於效能目標,將另一組資料用於與效能目標相關的警報。 使用不同的資料集會導致警示不準確,從而破壞效能監視的有效性。
將績效目標和業務指標分開。 運營和開發團隊使用效能目標來監視工作負荷運行狀況並實現業務目標。 業務指標與業務目標或客戶報告相關。 在單獨的資料流中捕獲業務指標,即使資料直接重疊也是如此。 這種區分可讓您靈活地擷取正確的資料,並獨立分析資料。
定義保留原則
保留策略規定了效能資料的保留時間。 建立這些原則有助於有效管理儲存體,並確保僅存取必要的資料進行分析。 此類策略支援更好的效能並滿足合規性標準。 應為記錄和指標資料配置保留策略,以便在所有環境中實現有效的故障排除和監視。 例如,記錄和指標在生產環境中可能需要比在測試環境中保留更長的時間。 保留期應符合組織的要求和合規性法規。 確定出於分析和審核目的保留資料的時間。 存檔不需要立即分析的資料。
收集效能資料
收集資料涉及監視和分析工作負載的效能計量,例如輸送量、延遲和完成時間,主要透過檢測程式碼收集。 工作負載效能資料提供有關應用程式運行狀況和效能的寶貴見解。 通過監控和分析效能資料,您可以識別和排查問題、最佳化效能併為工作負載做出明智的決策。
檢測程式碼
檢測是指將程式碼片段或動作嵌入到工作負載程式碼中的過程;例如,在畫布應用程式中建立自訂追蹤事件。 檢測的目的是在工作負荷運行時捕獲效能資料。 必須收集突出顯示工作負載關鍵操作的指標。 重點關注輸送量、延遲和完成時間等指標。 將業務相關操作與其他操作區分開來非常重要。 對於與商務營運相關的資料,請確保其中繼資料的結構允許明確的追蹤和儲存。 程式碼檢測具有以下優點:
識別性能瓶頸: 通過跟蹤運行時間等指標,您可以識別瓶頸並相應地優化代碼。
評估負載下的系統行為: 您可以查看工作負載在不同壓力情況下的表現。 此資料可説明您識別與可伸縮性、併發性和資源使用相關的問題。
跟蹤工作負載運行狀況和可用性: 由於關鍵性能指標是實時監控的,因此您可以獲得有關影響應用程式性能和可用性的潛在問題的警報。
改善用戶體驗: 您可以深入了解使用者如何與工作負載交互。 使用此資訊來最佳化用戶體驗並確定需要改進的領域。
規劃容量和分配資源: 檢測收集的性能數據可以提供對工作負載的資源要求的寶貴見解。 此資訊可以為您做出有關規劃容量和資源分配的決策提供資訊。
當您對程式碼進行效能監視時,請考慮以下原則:
使用 APM 工具:應用程式效能監控 (APM) 工具收集和分析性能數據,包括指標、跟蹤和日誌。 APM 工具提供代碼級檢測、事務追蹤和效能分析等功能。
自定義檢測:開發人員可以添加自定義代碼來收集其應用程式和工作負載獨有的性能指標。 自訂檢測可以測量運行時、追蹤資源使用方式或捕獲特定事件。
捕獲事務時間。 捕獲事務時間與測量關鍵技術功能的端到端時間有關,作為效能監控的一部分。 應用程式級指標應包括端到端事務時間。 這些事務時間應涵蓋關鍵技術功能,例如資料庫查詢、外部 API 調用回覆時間以及處理步驟的失敗率。
使用遙測標準。 請考慮使用 APM 工具檢測庫和圍繞遙測標準(如 OpenTelemetry)構建的工具。
收集資源效能資料
通過收集資源效能資料,可以深入瞭解工作負載的運行狀況和行為。 資源效能資料提供有關資源使用方式的資訊,這是容量規劃的關鍵。 此資料還提供對工作負載運行狀況的見解,並可説明你檢測問題並進行故障排除。 請考慮下列建議:
收集每個資源的指標和記錄。 每個服務都有一組特定於資源功能的指標。 這些指標可説明你瞭解資源的運行狀況和效能。
使用平台工具。 從內建和整合的監視解決方案 (例如 Azure Monitor Insights) 中收集靈感。 此工具簡化了效能操作。 在選擇平台並投資客製化工具或報告時,請考慮平台工具。
監控網路流量。 監控網路流量意味著追蹤和分析資料在網路路徑中移動時的流和模式。 收集流量分析並監控穿越子網邊界的流量。 您的目標是分析和最佳化網路效能。
收集資料庫和存儲資料
許多資料庫和存儲系統都提供自己的監視工具。 這些工具收集特定於這些系統的效能資料。 資料庫和存儲系統通常會生成包含與效能相關的事件和指示器的記錄。 收集資料庫資料和存儲效能資料,以便您可以識別瓶頸、診斷問題並做出明智的決策,從而提高工作負載的整體效能和可靠性。 考慮收集以下類型的效能資料:
輸送量:輸送量衡量一段時間內從存儲系統讀取或寫入存儲系統的數據量。 輸送量資料表示資料傳輸能力。
延遲:延遲衡量存儲操作的持續時間。 延遲資料指示存儲系統的回應能力。
IOPS (每秒 I/O 操作數):有關存儲系統在一秒鐘內可以執行的讀取操作或寫入操作數的數據。 IOPS 資料指示存儲系統的輸送量和回應能力。
容量使用:容量使用是已使用的儲存容量和可用容量。 容量使用資料可幫助組織規劃未來的存儲需求。
收集連接器效能資料
等待整合服務操作完成所花費的時間可能會導致工作負荷的整體效能不佳。 如果您的工作負載使用連接器來整合服務,請考慮測量每個連接器操作所花費的時間,以評估其影響並決定是否最佳化工作負載設計。 根據服務的不同,您可以使用運行歷史記錄或自訂邏輯來捕獲連接器操作所花費的時間。
驗證和分析資料
您的效果資料應與效果目標對齊。 資料需要完整、準確地表示與效能目標相關的工作負載或流程效能。 例如,Web 服務的回覆時間的效能目標為 500 毫秒。 定期分析資料,因為頻繁的評估可以及早發現和緩解效能問題。
建立警示。 具有可操作的警報非常有用,可以及時識別和糾正效能問題。 這些警報應清楚地指示超出的效能閾值、潛在的業務影響以及所涉及的元件。 首先設定常見警示和推薦警示。 隨著時間的推移,您可以根據自己的特定需求修改這些條件。 這些警報的主要目標應該是在潛在效能下降升級為重大問題之前對其進行預測。 如果無法為外部依賴項設置警報,請考慮設計一種方法來收集間接度量值,例如依賴項調用的持續時間。
設定資料收集限制。 確定並設定您收集的資料量及其保留期限的邏輯限制。 遙測有時會產生大量資料。 必須專注於僅捕獲最重要的效能指標,或者建立一個有效的系統來從效能資料中提取有意義的見解。
Power Platform 便利
收集應用程式性能數據: Application Insights 是 Azure Monitor 的一項功能,可説明你監視應用程式的性能和可用性。 數據由「性能」和「故障」面板存儲在 Azure Monitor 紀錄 Application Insights中,並在「性能」和「故障」 面板中可視化 。 資料以 Application Insights 定義的標準結構描述匯出至 Application Insights 環境。 您可以將數據 Dataverse 匯出到 Power Automate Application Insights Canvas Apps, 連線 Canvas 應用 導出到 Application Insights Copilot,並從 Copilot Microsoft Copilot Studio 捕獲遙測數據 ,以便在 Azure Application Insights 中使用。
Application Insights 可讓您選擇伺服器和瀏覽器資料檢視。 藉由找出持續時間最長的作業,您可以診斷潛在的問題。
使用本機平臺功能分析性能:Analytics in Copilot Studio 提供了 Copilot 性能的全面概述。 它使用人工智慧 (AI) 技術來確定哪些主題對升級率、放棄率和解決率的影響最大。 性能見解,用於 Power Apps 分析運行時用戶數據並提供優先建議清單,以説明提高模型驅動應用的性能。
集中、細分和保留性能數據: Microsoft 已經收集了大量關於 Dataverse Power Automate 、雲端流和模型驅動型應用的遙測數據。 透過 Application Insights 整合,環境或租用戶管理員會在 Power Platform 系統管理中心設定資料匯出程序時提供 Application Insights 工具金鑰。 設置完成後,收集有關環境的遙測數據 Microsoft 將發送到環境 Application Insights 。 使用 Application Insights 整合時,您將會收到一組遵循 Application Insights 遙測資料模型的標準化遙測。 除了此整合之外,您還可以 連線 Canvas 應用到 Application Insights Copilot Microsoft Copilot Studio 並從中捕獲遙測數據,以便在 Azure Application Insights 中使用。
收集 Azure 資源性能數據: 大多數 Azure 服務都會生成平臺日誌和指標,以提供診斷和審核資訊。 通過啟用診斷設置,可以指定要收集和存儲的平台記錄和指標。出於相關性目的,請為所有受支援的服務啟用診斷,並將記錄發送到與應用程式記錄相同的目標。
收集資料庫性能數據:Microsoft Dataverse 集成 Application Insights。 資料流程目前提供 Dataverse API 傳入呼叫、Dataverse 外掛程式執行呼叫和 Dataverse SDK 呼叫相關的效能資料。 若要收到問題通知,請根據效能閾值設置警報。
驗證和分析性能數據: 在 Azure Monitor 中,可以使用 Azure Monitor 日誌來收集、分析和可視化來自應用程式和系統的日誌數據。 通過聚合記錄,您可以交叉查詢事件並深入瞭解應用程式的效能。 有關詳細資訊,請參閱 Azure 監視器記錄成本計算和選項**和 Azure 監視器的定價。
在 Azure 監視器中,可以定義警示規則來監視特定效能計量,並根據預先定義的條件觸發警示。 例如,您可以建立警示規則,以便在回應時間超過指定限制時通知您。 配置警報規則以向所需的收件者發送通知。
建立警示規則時,您可以定義確定何時觸發警示的條件。 您可以設置閾值、聚合方法、時間視窗和評估頻率。 根據您的效能監視要求定義條件。 除了發送通知之外,您還可以指定觸發警報時要執行的操作。 操作可以包括發送電子郵件、調用 Webhook 或運行 Azure 函數。 選擇適當的操作以回應特定的警報方案。
範例
效能效益檢查清單
請參閱完整的建議集。