了解深入解析 (預覽版)
[This topic is pre-release documentation and is subject to change.]
效能深入解析會將深入解析分發至下列類別:
整體效能
深入解析會將應用程式的整體效能總結為深入解析 ID Perf.Summary.Overview 下的執行摘要。
在此深入解析中,您可以根據嚴重性來查看應用程式的整體效能。
- 嚴重:表示效能較差。
- 警告:表示效能有待改善。
- 資訊:表示效能良好。
如何改進
當有時間最佳化應用程式時,您可以從用戶端、網路、自訂類別以及外掛程式、savedQeury 及設定查看詳細深入解析。 透過審查深入解析,就能衍生某些可操作的項目。
用戶端環境
當使用者在裝置上體驗 Power Apps 應用程式時,有多種因素會影響效能,例如瀏覽器類型、瀏覽器版本以及硬體規格。 在本節中,您可以看到哪些深入解析檢查會檢查用戶端環境。
瀏覽器類型
深入解析識別碼:Perf.Environment.Client.Browser.Type
動機
某些網頁瀏覽器類型會影響您的應用程式效能。 使用不支援的瀏覽器或非現代瀏覽器可能會導致效能下降。 這個深入解析提供不同瀏覽器 (尤其是非建議瀏覽器) 的效能影響。 例如,Power Apps 已棄用其對 Internet Explorer 的支援。
如何改進
如果您是擁有舊版瀏覽器的使用者 (例如 Internet Explorer),請切換至目前的 Chromium 瀏覽器。 我們建議使用者執行現代瀏覽器,例如 Microsoft Edge 或 Google Chrome。
備註
某些使用 NPAPI 的繼承應用程式只會在 Internet Explorer 上運作。
瀏覽器版本
深入解析識別碼:Perf.Environment.Client.Browser.Version
動機
這個深入解析會檢查在舊版瀏覽器上使用您的應用程式的使用者數目。 即使使用者執行的是現代瀏覽器,也不是建議的瀏覽器類型 (例如 Internet Explorer),舊版瀏覽器的執行速度仍會較慢。
如何改進
使用者應定期將瀏覽器更新到最新版本。 企業客戶可以將群組原則套用至特定的版本。 因為 Unified Service Desk (USD) 也會使用電腦的預設瀏覽器設定,所以也需要檢查預設的瀏覽器類型和版本。
最低系統需求
深入解析識別碼:Perf. MimimumRequirements
動機
這種深入解析會檢查使用者的環境是否符合最低的系統需求。 您可以檢查 Web 應用程式要求,查看應用程式類型最低的系統需求。
一般而言,某些活動 (例如轉譯、指令碼和下載內容) 會發生於用戶端。 符合這類活動所需的最低系統需求。
如何改進
使用者應使用符合或超過最低 Power Apps 系統需求的硬體。
HTTP 通訊協定
深入解析識別碼:Perf.Environment.Client.Browser.HttpProtocol
動機
Power Apps 平台支援 HTTP/2。 不過,如果您的應用程式使用 Power Apps XMLHttpRequest (XHR) 要求的 HTTP/1.1 通訊協定,則可能會因為 HTTP/1.1 通訊協定的併發限制而造成效能較低。
如何改進
如果此深入解析發現一些使用 HTTP/1.1 通訊協定的使用者,則強烈建議使用者的用戶端支援 HTTP/2 通訊協定。
數種設定和網路基礎結構可以封鎖 HTTP/2 通訊協定,例如 VPN 網路、代理伺服器或裝置網際網路選項設定。
使用者可以從瀏覽器隨附的開發工具中檢查所使用的通訊協定。 在下圖中,HTTP/2 的網路通話已發生。
如果網路通訊協定追蹤指示 HTTP/1.1,則可能是由於下列原因所示:
- 網際網路設定:控制面板 使用 HTTP2 和使用 TLS1.2 選項中的 Windows Internet Option 進階索引標籤未啟用。
- VPN 和 Proxy:雖然 Windows Internet Option 設定為使用 HTTP2 和 TLS 1.2,但是當 VPN 或代理伺服器不支援最新的通訊協定時,瀏覽器可能會退回。
使用模式
此類別會分析頁面載入的類型。 暖頁面載入會使用緩存和現有的 DOM 物件來呈現頁面,而冷頁面載入會在需要時透過下載資源,呈現更新頁面。 雖然使用者不會區分頁面載入的類型,但是此深入解析會根據用戶端所發生的頁面載入類型,來分析並提供建議。
頁面載入類型
深入解析識別碼:Perf. PageLoadType
動機
因為必要資源已載入本機快取,所以溫頁面載入比冷頁面載入速度還快。
備註
當使用者在瀏覽器的新索引標籤或新索引標籤中打開表單時,會將其視為冷頁面載入。 當使用者在瀏覽器的活動索引標籤中打開應用程式中的其他表單時,會將其視為溫頁面載入。
如何改進
為了獲得較快效能的熱頁面載入,請將打開新的索引標籤或瀏覽器視窗降至最低。 嘗試將活動保留在單一索引標籤中,而不是打開新的索引標籤或瀏覽器視窗。 我們也建議不要在 InPrivate 或 incognito 模式中執行瀏覽器。
頁面效能
許多第一方模型導向應用程式應用程式由儀表板、檢視 (EntityList) 和表單位於頁面類型時所組成。 根據預設,使用者會載入儀表板,雖然應用程式管理員和系統管理員可以變更此值。 如果儀表板包含許多種圖表和磚,可能會造成儀表板載入緩慢。 同樣地,如果 EntityList 與表單自訂為新增許多資料欄並顯示許多記錄,也會造成頁面載入緩慢。 因此,檢查每個頁面的效能和每個表格可能助益良多,因為頁面載入效能可能會有不同的根本原因。
在本節中,您可以看到幾種與頁面效能相關的深入解析。
慢速儀表板
深入解析識別碼:Perf.ModelDriven.Page.Dashboard.SlowSQLQuery
動機
慢速 SQL 查詢或在儀表板中使用太多圖表和磁貼,可能會導致儀表板性能下降。 這種深入解析會指向受慢速 SQL 查詢影響的儀表板。 當您紀錄這項深入解析時,詳細資料窗格會包括深入解析中所包含的每個儀表板的儀表板識別碼。
如何改進
以下是使用儀表板識別碼查詢儀表板名稱的方法。 然後,您可以判斷重新設計要考慮哪些儀表板。
前往模型導向應用程式,例如:https://contoso.crm.dynamics.com。
將 api/data/v9.1/systemforms[DashboardId]/name 附加至應用程式 URL 以修改此範例 (https://contoso.dynamics.com/api/data/v9.1/systemforms[DashboardId]/name) 中所顯示的 URL。
您將會收到類似下面的 OData 要求。 下方顯示的代理程式儀表板顯示特定儀表板識別碼的使用者自訂名稱。
{"@odata.context":https://contoso.crm.dynamics.com/api/data/v9.1/$metadata#systemforms(2ff4a8cf-378b-e811-a964-000d3a30dc0a)/name,"value":"Contoso - Agent Dashboard"}
具有慢外部呼叫的同步處理外掛程式
深入解析識別碼:Perf.Sandbox.Performance.Plug-ins.ExternalCall
外掛程式和自訂工作流程活動可以透過 HTTP 和 HTTPS 通訊協定存取網頁服務 (外部端點)。 如果這些外部服務執行緩慢,外掛程式本身將超時或執行緩慢。
動機
這項深入解析會檢查外部端點的效能,並偵測應用程式中由慢速外部呼叫所影響的外掛程式。
如何改進
其他資訊:存取外部 Web 服務 (Microsoft Dataverse) - Power Apps | Microsoft Docs。
自訂
決策者可以與模型導向應用程式進行很多不同的自訂,例如:
- 插入自訂 JavaScript 函數,以在用戶端上啟用事件。
- 建立和部署用來執行自訂邏輯的外掛程式。
- 定義和儲存自訂資料表和資料。
- 定義自訂和標準表格的相依元件,例如表單和檢視。
從效能角度看,所有這些自訂可能會在自訂未遵循最佳作法和建議的場合造成較差的應用程式回覆。 決策者可以執行「解決方案檢查工具」在開發階段驗證其自訂。
下列深入解析也提供您自訂的執行時間使用者資料的分析結果。
XML HTTP 要求 (XHR) 呼叫類型
深入解析識別碼:Perf.ModelDriven.Customization.Client.Script.XMLHttpRequestType
同步處理 XMLHttpRequest 呼叫可能會對使用者造成嚴重的效能問題,尤其是當網路緩慢或有需要進行多個通話時。 瀏覽器會凍結,而且當無法點擊、捲動或與頁面互動時,使用者就會感到不滿意。
這種深入解析會顯示是否有同步方法,並指出相關的效能。
動機
同步處理 XHR 呼叫將阻止瀏覽器執行更多的工作,因為瀏覽器必須等待同步處理調用完成,造成頁面減慢或完全凍結。
如何改進
我們建議您將深入解析的資料區段中提到的最常用方法從同步處理變更為至非同步。 其他資訊:透過將模模型導向應用程式轉換為遠離同步處理的要求來 Turbocharge
已取代的控制項
深入解析識別碼:Perf.Customization.Controls.Deprecated
模型導向應用程式的一些舊控制項,例如切換開關、行事曆控制項 (V1)、線性滑桿、放射狀旋鈕、弧形旋鈕、線性量測計;與網站預覽控制項、MultiSelectPicklistControl (V1) 和翻轉標籤一起被取代。 其中一部分控制項可以取代新的控制項,這些控制項會隨新式的網頁和行動裝置而定。 其他資訊:新的模型導向應用程式,舊控制項已棄用
動機
使用過期的控制項可能會造成效能、可靠性和協助工具問題。 此外,這些被取代控制項中的部分限制已解析成新控制項。 例如,切換開關控制項和行事曆控制項 (V2) 會使用 Microsoft Fluent UI。
如何改進
- 使用切換開關控制項代替翻轉標籤和翻轉開關。
- 使用行事曆控制項 (V2) 取代行事曆控制項 (V1)。
- 評估其他被取代的控制項,以判斷它們在現有表單中是否仍然有用。
請注意,被取代的版本與新控制項之間有很多重大的設計變更。
如需被取代控制項的詳細資訊,請前往模型導向應用程式控制項取代。
沙箱效能 - 主導外掛程式
深入解析識別碼:Perf.Sandbox.Performance.Plug-ins.Dominant
這項深入解析將協助我們找出主要的外掛程式,或者換句話說,這是最常用的外掛程式。 這也會在 95 百分點時,指出外掛程式執行時間慢於 100 毫秒,是否有任何主要使用中的外掛程式執行緩慢。 這項深入解析最多可列出三個主要外掛程式。
動機
緩慢沙箱主要外掛程式會影響效能。 應該調查這些外掛程式。
如何改進
調查緩慢執行的外掛程式。確認外掛程式和工作流程開發的最佳做法。
若要進一步研究慢速外掛程式,您可以將 外掛程式追蹤紀錄設定為所有在開發或測試環境中的設定,並判斷延遲的位置。 不過,在進入生產之前,請不要忘記停用設定。 其他資訊:追蹤與紀錄
研究執行緩慢的外掛程式。下面描述一些慢速外掛程式的原因:
- 相關的 SQL 查詢執行速度較慢,因此外掛程式的執行時間也會增加。
- 請遵循外掛程式的單一責任原則,並不要進行具有大量交易記錄邊界的交易。
- 外掛程式可能正在進行某些外部呼叫,速度較慢。
- 不會針對多執行緒環境最佳化外掛程式邏輯。 檢查您的代碼。
若要進一步研究慢速外掛程式,您可以將 外掛程式追蹤紀錄設定為所有在開發或測試環境中的設定,並判斷延遲的位置。 在進入生產之前,請不要忘記停用設定。 其他資訊:追蹤與紀錄
帶有前置萬用字元的已儲存查詢
深入解析識別碼:Perf.ModelDriven.Customization.SavedQuery.LeadingWildCard
前置萬用字元是喜歡或不喜歡,使用萬用字元的條件 (%) 在搜尋字串的開頭。 編寫得較糟糕的要求範例如下:
<fetch version="1.0" output-format="xml-platform" mapping="logical">
<entity name="account">
<attribute name="accountid" />
<attribute name="accountnumber" />
<filter type="and">
<condition attribute="accountnumber" operator="like" value="%124" />
</filter>
</entity>
</fetch>
動機
前置萬用字元 (%) 在已儲存的查詢中,可能會造成查詢超時或執行緩慢。 這種深入解析會指向這種慢速儲存的查詢與前置萬用字元。
如何改進
請避免使用前置萬用字元。 在搜尋關鍵字中,這些類型會在 SQL Server 中轉換為「包含」,這樣就不會有索引搜尋的優點,但是會執行掃描。 如果需要使用前置萬用字元,請在加入其他條件時,限制搜尋範圍。 請注意,請確定在搜尋字串結尾處使用後置萬用字元 (%)。
組態
外掛程式追蹤記錄設定
深入解析識別碼:Perf.Sandbox.Configuration.PluginTraceSettings
決策者可以透過外掛程式追蹤紀錄來偵錯外掛程式。 系統 Dataverse 管理員可以將外掛程式和自訂工作流程活動,追蹤設定為關閉、例外或全部。
動機
只有當您在偵錯或調整外掛程式時,才應該將外掛程式追蹤紀錄設定為全部。 大量的追蹤紀錄會造成 SQL Server 的 I/O 開銷。 此外,移除外掛程式追蹤紀錄可能會造成封鎖或等待 SQL Server。
如何改進
在您的生產執行個體中,如果此設定為全部,而您的外掛程式所生成的紀錄數量為高,請考慮將它變更為例外。
若要變更設定,請前往設定 > 管理 > 系統設定 > 自訂索引標籤。其他資訊:紀錄和追蹤
網路
網路效能
網路延遲和輸送量是影響終端使用者體驗的重要因素。 在存取整合介面時,具有高延遲和低輸送量的使用者將更可能遭遇低效能的狀況。 深入解析會告訴我們有多少使用者的網路效能不佳,以及效能如何。
動機
較差的網路設定會影響應用程式效能。
如何改進
如果網路上有很多使用者,且效能較差,建議使用者將交換器切換至較好的網路。